我有一个表格视图,我将它用作表单。 第一个单元格有一个可编辑的文本字段。点击后的第二个单元格加载半模式日期选择器。我用这个:http://reednj.tumblr.com/post/1346445326/ios-semi-modal-date-picker-for-iphone在Objective-C项目中实现委托方法的难度
无论如何,我定义我的日期选择器,并设置其委托的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年9月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相当新,整个代表的概念真的让我感到困惑。 谢谢!
听起来好像它正在从记忆中过早释放。你有没有尝试添加一个断点? – mkral
你能详细说一下吗?它可能在哪里获得释放?我正在使用ARC。 – bhaity
查看此答案以设置断点以了解断点的位置。 http://stackoverflow.com/a/5236957/879119 – mkral