Daf*_*ffy 1 iphone memory-leaks memory-management objective-c uitableview
当程序获取最后一行时,我试图在tableView中加载接下来的10行数据
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
我正在使用带有pagenumber参数的单个函数来加载连续的页面.它适用于第一次获取,即pagenumber 0,但当我再次调用它来获取下一页行时,它给了我这个错误
-[CFString respondsToSelector:]: message sent to deallocated instance
Run Code Online (Sandbox Code Playgroud)
在敲了敲我的头很长一段时间之后,我发现它在尝试访问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];
}
Run Code Online (Sandbox Code Playgroud)
这里我得到了模型对象数组(TableRowObjectClass的对象),我想从TempObject中提取objectProperty并创建所有这些属性的数组.最初,对于pagenumber
0,它获取20行,现在当我显示第20行时,我调用fetch,调用此函数创建一个新的数组,objectProperty
我调用[TableView reloadData]
以显示带有20(旧)+20(新鲜)提要的frsh提要.
现在它创建了这个错误
-[CFString respondsToSelector:]: message sent to deallocated instance
Run Code Online (Sandbox Code Playgroud)
当试图访问时,
NSString* objectProperty = [[[NSString alloc] initWithFormat:@"String Property ....TableRowObject Class: %@",TempObject.objProperty] retain];
Run Code Online (Sandbox Code Playgroud)
我不确定它到底是什么,在哪里dealloc
.我花了很多时间在这上面,我对目标c内存管理并不是很好.
非常感谢您的帮助.
您的代码非常清楚地表明您不了解Objective-C或Objective-C内存管理; 不用担心,我们都是从那里开始的.首先阅读Objective-C指南,然后阅读内存管理指南.
一些具体问题:
TableRowObjectClass* TempObject = [[TableRowObject alloc] init];
TempObject = [someArray objectAtIndex: 0];
Run Code Online (Sandbox Code Playgroud)
泄漏.在第一行分配的对象(该变量也应以小写字母开头).
这个:
NSString* objectProperty = [[[NSString alloc] initWithFormat:@"..."] retain];
[objectProperty release];
Run Code Online (Sandbox Code Playgroud)
双重保留由单个释放平衡,另一个泄漏.
您看到message sent to deallocated instance
错误表示您过度释放其他对象.遵循内存管理指南,使用"构建和分析",然后使用僵尸检测工具....
归档时间: |
|
查看次数: |
6770 次 |
最近记录: |