我刚刚开始学习iOS开发和Objective C,我正在学习Apple的教程(https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/ThirdTutorial.html#//apple_ref/doc/uid/TP40011343-CH10-SW1)
我有一个文本字段,可以向数组添加新任务。当我按下“完成”时,任务被添加到数组中,它出现在tableview中 - 但是我在调试中得到了这个:
[XYZViewController addTaskField:]:无法识别的选择器发送到实例0x7fb13348c8c0 2014-10-16 18:00:36.120 Tutorial123 [7880:1837804] ***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [XYZViewController addTaskField:]:无法识别的选择器发送到实例0x7fb13348c8c0'
这是我在该文件上处理文本字段的代码:
#import "XYZViewController.h"
#import "ToDoItem.h"
@interface XYZViewController ()
@property (weak, nonatomic) IBOutlet UITextField *addTaskField;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *doneButton;
@end
@implementation XYZViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if(sender != self.doneButton) return;
if(self.addTaskField.text.length > 0){
self.todoItem = [[ToDoItem alloc] init];
self.todoItem.itemName = self.addTaskField.text;
self.todoItem.completed = NO;
}
}
@end
答案 0 :(得分:0)
当您从故事板连接addTaskField按钮时,您是否首先创建了一个操作然后删除了代码中的方法并创建了一个插座?如果发生了什么,你必须回到故事板,点击按钮和连接检查器,看看内部的修饰没有addTaskField:有线。见下图。我添加了testAction:action。您必须按View Controller testAction旁边的小x来删除它。如果发生了这件事,请告诉我。