【发布时间】:2013-04-14 06:21:08
【问题描述】:
我有一个 iOS 应用程序,我想通过代码测试它的 UI(使用单元测试)。我想模仿用户的活动和故事板活动:点击按钮,点击 barbutton,写入文本字段,执行 segue。
我对序列有疑问。我在 NavigationController 中有一个 TableViewConrtoller。首先,如何从代码中访问 TableViewController?
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
UINavigationController *nav = [storyboard instantiateInitialViewController];
GoodHabitsViewController *good = [nav.viewControllers objectAtIndex:0];
NSLog(@"%@", good.addButton.title);
[good performSegueWithIdentifier:@"AddGoodHabitSegue" sender:good];
NSLog写入正确值,按钮标题为“add”,log中出现“add”。 但是在 performSequeWithIdentifier 之后会出现以下警告:
Warning: Attempt to present <AddGoodHabitViewController: 0x74c8310> on <UINavigationController: 0x764e120> whose view is not in the window hierarchy!
如何执行序列,如何推送 addButton (UIBarButton) 以及如何引用 AddGoodHabitViewController(segue 指向的位置)。
【问题讨论】:
标签: ios objective-c storyboard uistoryboardsegue ui-testing