【发布时间】:2009-07-03 22:23:50
【问题描述】:
Instruments 告诉我这段代码中存在内存泄漏,但我似乎找不到它....有什么帮助吗?对不起或新手问题。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
int altoBufferCelda = 26;
Mensaje *msg = (Mensaje *)[model.mensajes objectAtIndex:indexPath.row];
CGSize txtSize = [msg.texto sizeWithFont:[UIFont systemFontOfSize:17.0f] constrainedToSize:CGSizeMake(222, 222) lineBreakMode:UILineBreakModeTailTruncation];
[alturasDinamicas setObject:[NSNumber numberWithFloat:(txtSize.height + altoBufferCelda)] forKey:[NSNumber numberWithInt:indexPath.row]];
return txtSize.height + altoBufferCelda;
}
【问题讨论】:
-
这是做什么的?发生了什么?什么“仪器”?如果您提供更多信息,它将帮助人们帮助您
-
marcgg,抱歉信息不足。这是为 iPhone 编写的 Objective-C 代码。该方法是用于控制 iphone 开发人员众所周知的 GUI 控件的委托的一部分。而 Instruments 是一个用于检测内存泄漏和许多其他事情的开发工具
-
@marcgg 我会说 Cocoa 开发人员都知道“仪器”是包含在开发人员工具中的分析应用程序。至于目的,“heightForRowAtIndexPath:”是不是不够清楚?
-
@nico:您能否更具体地说明您是如何将泄漏范围缩小到这个特定代码块的?此外,仪器通常指示泄漏对象的类型。这些信息会很有帮助。
标签: objective-c iphone-sdk-3.0 memory-leaks instruments