我遵循了“立即开始开发iOS应用程序”教程。
该应用程序总体上已经按照我的预期构建。但是,以下代码块无效。
o将按钮链接到unwindToList:操作
1)在项目导航器中,选择Main.storyboard。
2)在画布上,按住Control键从``取消''按钮拖动到``添加到待办事项''场景停靠点中的``退出''项上,如果在场景停靠栏中没有看到``退出''项,而是查看场景的描述,请在画布上单击“放大图像:../ Art / zoom_in_2x.png”按钮,直到看到它为止。在拖动结束的位置出现一个菜单。
3)从快捷菜单中选择unwindToList:这是您刚刚添加到XYZToDoListViewController.m文件中的操作。这意味着,当点击“取消”按钮时,segue将展开并调用此方法。
4)在画布上,按住Control键从“完成”按钮拖动到XYZAddToDoItemViewController场景停靠栏中的“退出”项目。
5)从快捷菜单中选择unwindToList:
教程上的所有其他指示均起作用。生成编译没有错误。当应用程序在模拟器中运行时,用户单击“完成”或“取消”,但是焦点不会移回到ToDoList场景。它只是停留在“添加项目”屏幕上。
关于正在发生的事情的任何想法。
iOS 7.1
一些进一步的细节
这是TodoController.m,带有unwindToList
-(IBAction)unwindToList:(UIStoryboardSegue *)segue
{
ianNo00004AddToDoItemViewController *source = [segue sourceViewController];
ianNo00004ToDoItem *item = source.toDoItem;
if (item != nil) {
[self.toDoItems addObject:item];
[self.tableView reloadData];
}
}
**This is the ToDoListController.h**
@interface ianNo00004ToDoListViewController : UITableViewController
-(IBAction)unwindToList:(UIStoryboardSegue *)segue;
@end
AddToItemViewController.m代码
#import“ianNo00004AddToDoItemViewController.h”
@interface ianNo00004AddToDoItemViewController ()
@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *doneButton;
@end
@implementation ianNo00004AddToDoItemViewController
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if (sender != self.doneButton) return;
if (self.textField.text.length > 0)
{
self.toDoItem = [[ianNo00004ToDoItem alloc] init];
self.toDoItem.itemName = self.textField.text;
self.toDoItem.completed = NO;
}
}
最佳答案
您应该在 XYZToDoListListTableViewController.h 中添加方法 unwindToList
(不是ItemViewController,而是TableViewController)
@interface XYZToDoListTableViewController : UITableViewController
-(IBAction)unwindToList:(UIStoryboardSegue *)segue;
@end
然后在XYZToDoListTableViewController.m中添加以下代码
- (IBAction)unwindToList:(UIStoryboardSegue *)segue
{
}
您使用的教程可能是旧版本,可能存在一些错误。
请在此处遵循最新版本:
https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html#//apple_ref/doc/uid/TP40011343-CH8-SW7