我有一個表格視圖,我將它用作表單。 第一個單元格有一個可編輯的文本字段。點擊後的第二個單元格加載半模式日期選擇器。我用這個: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