1
我試圖從API中檢索JSON文件進行解析。我正在使用NSURLConnection來獲取數據。它的代表收到回覆並確認MIME類型爲application/json
。然而,當代表調用此方法:將數據從NSURLConnection附加到NSMutableData對象失敗
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSLog(@"Received route data");
[self.receivedData appendData:data];
NSLog(@"Data length: %d", data.length);
NSLog(@"Data length in property: %d", self.receivedData.length);
}
它記錄的data
長度爲某個整數。但是,它將receivedData
的長度記錄爲0.如果有數據被附加到它,這顯然是錯誤的。
receivedData
屬於NSMutableData
類型,當包含它的對象被初始化時,我使用self.receivedData = [[NSMutableData alloc] init]
。我在附加數據時犯了錯誤嗎?
儘管你說你已經初始化了'self.receivedData',這聽起來很像你的'connection:didReceiveData:'方法中的'nil' - 你檢查過是否是這種情況? – Mac
@Mac我檢查了'self.receivedData',它確實是'nil'。看來我誤將屬性設置爲「弱」,並且只要初始化它的方法完成並且本地指針超出了範圍,它就會被釋放。 –
這確實會這樣做。很高興你把它整理出來。順便說一句,既然你看起來很新(順便說一句),你可能不知道我們鼓勵那些已經解決了自己問題的人發佈答案 - 對於遇到同樣問題的其他人來說,這可能非常有用。儘管我很樂意獲得功勞,但你自己找到了根本原因,所以如果你能夠在答案中發佈詳細信息,那將是非常好的。 – Mac