我在iOS 7中遇到的问题并未出现在iOS 6中.
我有一个导航控制器,显示另一个导航控制器来添加员工.第二个控制器以模态方式呈现.当我用"取消"或"完成"按钮关闭第二个控制器时,我收到错误.这是错误:
QuickSchedule [880:60b]警告:在演示或解雇过程中尝试从视图控制器中解除!
我正在使用unwind segue并使用以下相关代码从第一个控制器中解除.
这是在ScheduleViewController.m(我的主控制器窗口)
- (IBAction)done:(UIStoryboardSegue *)segue
{
if ([[segue identifier] isEqualToString:@"DoneEditing"]) {
[[MyManager sharedManager] saveChanges];
[self dismissViewControllerAnimated:YES completion:NULL];
}
}
Run Code Online (Sandbox Code Playgroud)
连接检查器中"完成"按钮的连接只是"动作 - > [展开完成:]"
在升级到Xcode 5之前我没有错误.这一切都是在将Xcode和我的故事板升级到iOS 7之后开始的.
我在我的应用程序中的不同位置得到相同的错误,但同样,它是一个模态呈现的视图控制器.
我以模态方式从EmployeeViewController转到AddEmployeeViewController.当我从AddEmployeeViewController返回时,我再次收到错误.
EmployeeViewController.m
- (IBAction)done:(UIStoryboardSegue *)segue
{
if ([[segue identifier] isEqualToString:@"ReturnInput"]) {
AddEmployeeViewController *addController = [segue sourceViewController];
if (addController.employee) {
[[MyManager sharedManager] saveChanges];
[[self tableView] reloadData];
}
if (![self.presentedViewController isBeingDismissed]) {
[self dismissViewControllerAnimated:YES completion:nil];
}
}
}
- (IBAction)cancel:(UIStoryboardSegue *)segue
{
if ([[segue identifier] isEqualToString:@"CancelInput"]) {
[self …Run Code Online (Sandbox Code Playgroud)