2014-05-03 40 views
0

我想將一個對象添加到NSMutableArray taskArray。該對象是taskClass的一個名爲emptyTask的實例。當我創建emptyTask,並嘗試將其添加到myDelegate,我得到以下錯誤:「NSInvalidArgumentException」的,理由是:「 - [TaskClass copyWithZone:]:無法識別的選擇發送到實例0x8c63f10如何使用委託將對象添加到NSMutableArray?

myDelegate = [UIApplication sharedApplication].delegate; 
myDelegate.taskArray = [[NSMutableArray alloc]init]; 
TaskClass* emptyTask = [[TaskClass alloc]init]; 
emptyTask = [emptyTask starterTaskClass]; 
[myDelegate.taskArray addObject:emptyTask]; 

我可以用替代emptyTask NSString和它添加到myDelegate。 我也可以添加emptyTask到本地創建的NSMutableArray,它的工作原理。 所以它似乎與我的課程myDelegate有關。 我在所有頭文件中都有#import「TaskClass」。

想法?

回答

0

有些東西試圖將您的委託直接或直接或更可能地用作字典中的關鍵字。你有幾個選項

  • 找出並改變它不復制/使用字典;或
  • 實施-[TaskClass copyWithZone:];只要你這樣做,你也可以宣佈自己符合NSCopying協議。
+0

是的。你是對的。謝謝。 – LeoReubelt

相關問題