我有一个 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”,并且“add”出现在日志中。但是在 performSequeWithIdentifier 之后会出现以下警告:
Warning: Attempt to present <AddGoodHabitViewController: 0x74c8310> on <UINavigationController: 0x764e120> whose view is not in the window hierarchy!
如何执行序列,如何推送 addButton (UIBarButton) 以及如何引用AddGoodHabitViewController
(segue 指向的位置)。