iphone - 如何解决这个内存泄漏?

标签 iphone objective-c memory-leaks

+ (UITableViewCell *)inputCell {
    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"id"];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;  
    cell.textLabel.font = [UIFont boldSystemFontOfSize:14];
    return cell;
}

Xcode 显示内存泄漏。我尝试在单元格初始化和返回期间自动释放,但应用程序在这两种情况下都崩溃了。

最佳答案

您发布的代码将泄漏内存,因为您的 alloc init 将返回一个保留计数为 1 的单元格。大概调用代码然后将此对象返回给 cellForRowAtIndexPath它将附加到 UITableView并再次增加保留计数(到两个)。因此,当 UITableView 释放它的内存时,该对象的保留计数仍为 1。

如果您尝试在这段代码中自动释放对象并且它崩溃了,那么您有一个单独的错误。

关于iphone - 如何解决这个内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5892980/

相关文章:

iphone - 如何在绘图中实现撤消功能,以便用户可以清除他的最后一行

iPhone:当iPhone锁定时如何保持定时器唤醒?

iphone - 应用程序处于后台时如何录制屏幕 ios 8.4(Swift)

c - 即使在 fclose 之后使用 valgrind 也会出现内存泄漏问题

iphone - 解析注入(inject)的网页数据

objective-c - 带小数的 float 四舍五入

ios - 谷歌地图中的标记图像闪烁

ios - react-native iOS 原生模块 : calling method that activates network indicator asynchronously

node.js - 可能的 socket.io 内存泄漏

c - cygwin 上的内存泄漏工具