2010-10-23 88 views
0

我目前正在嘗試將iPhone伴侶寫入正在開發的網站。我試圖通過使控制器成爲NSURLConnection的委託從我的網站獲取JSON數據。這裏的問題,雖然,我有一個名爲responseData一個NSMutableData對象初始化像這樣:NSMutableData對象不識別選擇器?

responseData = [NSMutableData dataWithLength:0]; 

我要追加的數據,因爲它涉及:

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { 
    [responseData appendData:data]; 
} 

然而,這導致我的應用程序崩潰,並說在控制檯:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[__NSCFArray appendData:]: unrecognized selector sent to instance 
0x6d0a640' 

我敢確信appendData應當承認,所以我不知所措的問題是什麼在這裏...

回答

6

您必須保留對象:

responseData = [NSMutableData dataWithLength:0]; 

[responseData retain]; 

但這還不是這樣做的常用方法。只需使用分配/初始化:

responseData = [[NSMutableData alloc] init]; 

但是不要忘記在dealloc中釋放:

[responseData release]; 
+0

第一個爲我工作,因爲我是堅持了同樣的問題。奇怪的是,我已經在做第二次,但由於某種原因,它不適合我。這對我知道爲什麼它不適合我很有幫助。更奇怪的是,第二個是在我的代碼的另一部分工作。你能否就這種情況發表一些看法? – 2012-10-19 11:39:55