我想,當程序獲取在「 - [CFString字符串respondsToSelector:]:消息發送到釋放實例」試圖訪問objectArray
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
我最後一排旁加載10行中的tableView數據時,使用帶pagenumber參數的單個函數來加載連續頁面。 它適用於首次提取,即頁面編號爲0,但是當我再次調用它來獲取下一個頁面的行,它給了我這個錯誤
-[CFString respondsToSelector:]: message sent to deallocated instance
敲我的頭很長一段時間後,我發現,它創建嘗試訪問我的Model對象的NSMutableArray時出現此問題。 我使用這種方式:
TableRowObjectClass* TempObject = [[TableRowObject alloc] init];
for(int i=0;i<rowArray.count;i++){
TempObject = [rowArray objectAtIndex:i];
NSString* objectProperty = [[[NSString alloc] initWithFormat:@"String Property I need from Object to be appended with some text from TableRowObject Class : %@",TempObject.objProperty] retain];
[propertyArray addObject:objectProperty];
[objectProperty release];
}
在這裏我得到模型對象(TableRowObjectClass的對象)的數組,我想從TempObject提取OBJECTPROPERTY以及創建和所有這些屬性的陣列。 最初,對於pagenumber
0,它獲取20行,現在當我顯示第20行時,我調用fetch,它調用此函數創建一個全新的objectProperty
Array,我呼叫[TableView reloadData]
顯示20(舊)+20的frsh feed (新鮮)飼料。
現在它試圖訪問時產生這個錯誤
-[CFString respondsToSelector:]: message sent to deallocated instance
,
NSString* objectProperty = [[[NSString alloc] initWithFormat:@"String Property ....TableRowObject Class: %@",TempObject.objProperty] retain];
我不知道什麼以及它從哪兒得到dealloc
。 我已經花了很多時間在這方面,而我對objective-c內存管理並不太擅長。
非常感謝您的幫助。
TableRowObject是一個類還是變量?你似乎正在使用它兩種方式。 – Chuck 2011-02-23 04:17:37
它是一個擁有自己的init方法的類。它的對象是通過解析JSON數據創建的,並以這些對象的NSMutable數組的形式返回。 – Daffy 2011-02-23 04:29:01
感謝您指出,我在上面的帖子中修復了它。這不是實際的代碼。 (不能粘貼確切的代碼,公司政策)我試圖展示功能,這與上面提供的代碼類似。 – Daffy 2011-02-23 04:40:40