是否可以像 IB nib 文件一样在 Objective-C 代码中以编程方式设置父子关系?

发布于 2024-10-31 02:38:03 字数 254 浏览 5 评论 0原文

我正在尝试在 iPhone 应用程序中对一些控制器代码进行单元测试。我正在测试的代码依赖于调用 self.navigationController,在我的测试中它是零。在实际应用程序中,导航控制器通过成为 nib 文件中我的控制器的父级来设置。我希望能够在单元测试中在控制器上设置导航控制器,但 navigationController 是只读属性。有没有一种方法可以在我的测试中以编程方式设置父子关系(就像 nib 文件一样),以便 navigationController 方法能够找到它?

I'm trying to unit test some controller code in an iPhone application. The code I'm testing is relying on calling self.navigationController, which in my test is nil. In the actual application, the navigation controller gets set up by virtue of being a parent of my controller inside the nib file. I would love to be able to just set the navigation controller on my controller in my unit tests, but navigationController is a readonly property. Is there a way to programmatically set up the parent-child relationship in my test (just like the nib file does), so that the navigationController method will find it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怎会甘心 2024-11-07 02:38:03
UIViewController *temp = [[UIViewController alloc]init];

UINavigationController *_temp = [[UINavigationController alloc]initWithRootViewController:temp];

这是您要找的吗?

UIViewController *temp = [[UIViewController alloc]init];

UINavigationController *_temp = [[UINavigationController alloc]initWithRootViewController:temp];

Is this what you are looking for?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文