我有一个表视图,我将其用作表单。 第一个单元格具有可编辑的文本字段。单击时,第二个单元格将加载半模式日期选择器。我用过这个:http://reednj.tumblr.com/post/1346445326/ios-semi-modal-date-picker-for-iphone
无论如何,我已经定义了我的datepicker并将其委托设置在tableviewcontroller中,如下所示:
TDDatePickerController* datePickerView = [[TDDatePickerController alloc]
initWithNibName:@"TDDatePickerController"
bundle:nil];
[datePickerView setDelegate:self];
[self presentSemiModalViewController:datePickerView];
现在处理按钮点击的方法定义为
-(void)datePickerSetDate:(TDDatePickerController*)viewController;
-(void)datePickerClearDate:(TDDatePickerController*)viewController;
-(void)datePickerCancel:(TDDatePickerController*)viewController;
因此,当按下取消按钮时,我希望半模式日期选择器被解雇,所以我有:
-(void)datePickerCancel:(TDDatePickerController*)viewController{
[self dismissSemiModalViewController:viewController];
}
但是这会导致应用程序因错误而崩溃
-[__NSCFType cancelDateEdit:]: unrecognized selector sent to instance 0xe738c00
2012-09-18 10:23:47.254 JRPBaseCamp [7612:f803] * 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [__ NSCFType cancelDateEdit:]:发送无法识别的选择器例如0xe738c00'
所以我在TDDatePickerController中查找了cancelDateEdit方法:
-(IBAction)cancelDateEdit:(id)sender {
if([self.delegate respondsToSelector:@selector(datePickerCancel:)]) {
[self.delegate datePickerCancel:self];
}
}
我做错了什么?它一定是我忽略的明显的东西。非常感谢任何帮助,我对iOS很新,整个代表的概念让我很困惑。 谢谢!
答案 0 :(得分:0)
发送无法识别的选择器意味着没有任何响应cancelDateEdit:selector。您可以使用调试器来搜索哪种对象是0xe738c00,然后在那里查找适当的选择器。