我想,当程序获取在“ - [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