问题标签 [autorelease]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1564 浏览

objective-c - Objective-C 自动释放池不释放对象

我对 Objective-C 非常陌生,并且正在阅读内存管理。我试图玩弄 NSAutoreleasePool 但不知何故它不会释放我的对象。

我有一个带有 setter 和 getter 的类,它基本上设置了一个 NSString *name。释放池后,我尝试 NSLog 对象,它仍然有效,但我想它不应该?

0 投票
1 回答
928 浏览

iphone - 使用 NSThread 解决 iPhone 上 URL 等待图片的问题

所以我在一个方法中有以下代码,我想将 UIImageView 图像设置为来自在线资源的图像:

然后在线程调用的方法中我有这个:

这很好用,但是我在调​​试器控制台中收到许多警告,如下所示:

2010-05-10 14:30:14.052 ProjectTitle[2930:633f] *** _NSAutoreleaseNoPool(): NSHTTPURLResponse 类的对象 0x169d30 自动释放,没有适当的池 - 只是泄漏

每次我调用新线程时都会发生很多次,然后最终,在没有模式的情况下,在调用其中一些线程后,我得到了经典的“EXC_BAD_ACCESS”运行时错误。

我知道发生这种情况是因为我没有保留对象,但是如何使用上面显示的“loadImage”中的代码解决这个问题?

谢谢

0 投票
2 回答
2025 浏览

objective-c - 为什么我得到 *** _NSAutoreleaseNoPool(): NSCFDictionary 类的对象 0x97480b0 自动释放而没有适当的池 - 只是泄漏

我已经注意到有关此主题的其他几个线程,并尝试使用以下代码包装我的线程代码: NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; [池释放];

但错误仍然存​​在。

我正在使用静态方法来实例化单词字典。这是一些代码:

关于将静态类方法与新的选择器线程一起使用,我应该知道些什么?

谢谢您的帮助

0 投票
2 回答
4933 浏览

iphone - 对象发送 -autorelease 太多次

我有这段代码可以简单地将今天的日期作为格式化的字符串返回:

使用仪器时,我没有遇到内存泄漏,但是当我分析时,XCode 说:

如果我理解正确,我必须在使用'alloc'创建格式化程序时手动释放它,但我不能在这里释放,因为我必须返回值,所以我添加了自动释放。

我怎样才能更好地改进它?

谢谢,

河。

0 投票
2 回答
70 浏览

iphone - 通过赋值自动释放前一个对象

如果我有这样的功能

据我了解,自动释放消息被发送到对象本身(而不是_previous),所以在某一时刻,当 setSomeObject 超出范围时,原始对象会被自动释放(如果有的话)。它是否正确?我没有使用属性,但我想通过使用它们,当我执行self.previous = obj;时,前一个对象的释放将是自动的。?

0 投票
1 回答
674 浏览

cocoa-touch - 内存泄漏与自动释放的字符串 iphone

我正在尝试使用泄漏仪器清除我的应用程序的泄漏。它向我展示了 xml 解析器 (TBXML) 的泄漏。

这是我将在解析时创建的一个类:

在解析器中:

... // 当根据元素找到时:

Leaks 工具在 TBXML 的 textForElement 函数中显示了泄漏,该函数提供了自动释放的字符串:

由于我们有时会谈论数百甚至数千个点,因此这些泄漏变得巨大。我不明白为什么自动释放的字符串会产生泄漏?

有什么想法吗?

谢谢

0 投票
2 回答
570 浏览

objective-c - 通知时释放

我有一个对象

我想通过通知。问题是我不知道如何正确释放它,内存管理文档让我发疯。

我现在正在这样做:

它应该是:

?

(iPhone、iOS4.0用)

提前致谢!

0 投票
2 回答
162 浏览

objective-c - 为什么这个 NIB 视图在返回之前没有发布?

我的理解是self.themeCell = nil;应该销毁该对象,因为它不再有任何所有者。cell = self.themeCell不保留它,而只是分配它。那么是什么让细胞保持活力呢?我只能假设合成属性是自动释放旧值而不是立即释放它。是这样吗?

0 投票
3 回答
105 浏览

iphone - 如何在 Objective-c 中自动释放

我没有使用自动释放。当我使用这样的代码时,我不知道如何释放 BSPTile

BSPtileView 是 UIView 类。怎么做 ?请。

0 投票
5 回答
1755 浏览

iphone - tableView:cellForRowAtIndexPath 的保留计数:

在 Apple 的示例代码中,tableView:cellForRowAtIndexPath:a的方法UITableViewDataSource返回一个保留计数为 1 的单元格;它分配它,但不自动释放它。但是,静态分析器抱怨这违反了 Cocoa 命名约定,因为方法名称不以“new”开头,等等。文档没有提到单元格的预期保留计数。单元格应该有多少保留计数?我应该针对文档提交错误吗?谢谢。

编辑:我查看的示例代码确实自动释放它,我的眼睛不知何故跳过了它。很抱歉浪费您的时间。感谢您的回复。

进一步编辑:如果提问者会因为在问题中使用它的术语而感到兴奋,那么可能应该针对 Clang 提交一个错误。:-)