我是iOS XCode的新手,我正在尝试完成初始示例。一切都按预期工作,在使用断点进行调试时,我似乎无法通过添加待办事项设置一个值以显示在Self.textField中,因此程序只是跳过这些步骤,我回到初始列表。更新:它肯定似乎没有通过这行代码,
if (sender != self.doneButton) return;
因此所有其他代码也不执行。是否与故事板中文本字段的配置有关? - 谢谢!
在AddToDoItemViewController.m中,文本字段中的值似乎没有出现并存储在此代码中。
#import "AddToDoItemViewController.h"
@interface AddToDoItemViewController ()
@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (weak, nonatomic) IBOutlet UITextField *doneButton;
@end
@implementation AddToDoItemViewController
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if (sender != self.doneButton) return;
if (self.textField.text.length > 0) {
self.toDoItem = [[ToDoItem alloc] init];
self.toDoItem.itemName = self.textField.text;
self.toDoItem.completed = NO;
}
}
在ToDoListTableViewController.m中,操作只看到该项为NILL,所以它已完成......
- (IBAction)unwindToList:(UIStoryboardSegue *)segue
{
AddToDoItemViewController *source = [segue sourceViewController];
ToDoItem *item = source.toDoItem;
if (item !=nil) {
[self.toDoItems addObject:item];
[self.tableView reloadData];
}
}
它使我疯狂,因为我让其他一切工作正常并且我正在学习调试器有多好,但我无法看到问题出在哪里。您知道是否可以在某处下载最终的代码示例吗?
感谢您的帮助。这是7月4日,我不会睡一会儿...:}
答案 0 :(得分:0)
我检查过该文件。你做错了什么。在示例中,doneButton
是UIBarButtonItem
。
您是否也这样做了:
要创建展开segue,请通过源视图控制器XYZAddToDoItemViewController的Dock中的Exit图标将Cancel和Done按钮链接到unwindToList:动作。