问题标签 [retain]

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 投票
6 回答
14092 浏览

iphone - 如果我不保留 IBOutlet 会怎样?

如果我这样做:

而不是这个:

会不会有不好的事情发生?我知道在第二种情况下,该字段被保留,但是由于笔尖拥有该字段,这是否会有所不同?如果没有保留,该字段会消失吗?在什么情况下?第一种情况下的代码有效,想知道这是否是内存管理方面的问题。

0 投票
5 回答
14293 浏览

ios - 从 NIB 加载后 IBOutlet 实例为(空)

我正在开发一个 iPhone 应用程序,并且在我的控制器中获得对 IBOutlet 字段的(空)引用。我有一个 UIViewController 子类,它在我的 XIB 中设置为文件的所有者。我有一组连接到控制器的 UI 元素。从 NIB 加载并尝试在这些 UI 元素上设置属性后,我发现它们是 (null)。为了澄清,一些代码:

ExpandSearchPageController.h:

展开搜索页面控制器.m:

ExpandSearchPageController 设置为 ExpandSearchPage.xib 的文件所有者。ExpandSearchPage.xib 的 UITextView 连接到 completeMessageView。

当我打电话

结果是

0 投票
1 回答
365 浏览

objective-c - 在类中保留 NS(Mutable)Array 时出错

我很难处理数组。来自 AS2/AS3 和垃圾收集对我来说是新的...... ;)

这不是完整的代码,只是重要的部分。

上面的问题*是,它在 viewDidLoad 调用该函数时起作用,但是当它稍后被 UIButton 调用时使用此(非常有用的)消息时会崩溃:

[会话开始于 2009-08-25 11:12:51 +0200。] GNU gdb 6.3.50-20050815(Apple 版本 gdb-966)(2009 年 3 月 10 日星期二 02:43:13 UTC)版权所有 2004 自由软件基金会, Inc. GDB 是自由软件,受 GNU 通用公共许可证保护,欢迎您在特定条件下更改和/或分发它的副本。键入“显示复制”以查看条件。GDB 绝对没有任何保证。键入“显示保修”以获取详细信息。此 GDB 配置为“i386-apple-darwin”。sharedlibrary apply-load-rules all 附加到进程 13197。

有人可以帮忙吗?

问候,埃里克。

0 投票
8 回答
66453 浏览

ios - Objective-C 101(保留与分配)NSString

一个 101 问题

假设我正在制作汽车数据库,每个汽车对象都定义为:

为什么是@property(nonatomic, retain) NSString *name;而不是@property(nonatomic, assign) NSString *name;

我知道这assign不会像那样增加引用计数器retain。但是为什么要使用retain,因为它是对象的name成员,todo它的范围是它自己。

也没有其他外部函数会修改它。

0 投票
3 回答
3910 浏览

memory - 您可以将保留计数发送到 NSLog 以帮助学习吗?

只是好奇是否有使用 NSLog 显示对象保留计数。我只想将它们打印到控制台以帮助了解保留/释放如何在一些简单的代码中工作?

干杯-加里-

0 投票
3 回答
667 浏览

objective-c - objective-c 对象没有得到释放:ed

我在objective-c中遇到了一个对象没有被释放的问题。我很确定这是因为它被保留在某个地方,但我不知道在哪里(检查应该为 0 的 retainCount 返回 1)。我已经多次浏览了我的代码,但没有看到我没有发布的保留它的内容。甚至可能是我正在使用的框架中的错误。

你会如何处理这样的事情?我想也许你可以搜索内存并查看指向该对象的内容,从而更容易弄清楚为什么会这样,但我不太确定如何实现这一点。也许另一种解决方案?

0 投票
4 回答
2321 浏览

objective-c - 在发送消息之前检查有效的委托对象

我正在尝试在 Objective-C 中实现委托模式,但是有时在调用委托时遇到错误访问异常。这似乎是由被释放的代表引起的。Apple 不建议保留代表。

在尝试向其发送消息之前,如何检查我的代表是否仍然有效?

0 投票
5 回答
7211 浏览

iphone - 释放通过 imageNamed 加载的保留 UIImage 属性?

在我的类对象中,我(nonatomic, retain)UIImage. 我为这个属性分配了一个通过加载的图像

如果在某个时候我想将此属性重新分配给另一个图像,我是否必须释放先前的参考?

我很困惑,因为我知道我应该通过保留属性释放它。但是因为imageNamed:是一种方便的方法(不使用 alloc),我不确定在这里应用什么规则。

感谢您的洞察力!

0 投票
1 回答
933 浏览

iphone - iPhone SDK:从 SQLite 加载 UITableView - 从 SQLite 创建数组

这是 iPhone SDK 的后续:从 SQLite 加载 UITableView

我打算使用以下代码将 SQL 数据加载到数组中。数组的每个元素都是代表每个数据库条目的类:

@interface 行:NSObject { int PK; NSString *desc;

}

@property int PK;@property (nonatomic, 保留) NSString *desc;

@结尾

加载操作将与此类似:

当然,第一个 for 循环将是来自 SELECT 语句的循环。另一个循环(或该循环的元素)将在 cellInRowIndex 方法中呈现数据。

我有一个关于内存泄漏的问题。上面的代码有内存泄漏吗?Row 类的 decs 字符串属性声明为 (retain)。不应该在某个地方发布吗?

谢谢

0 投票
3 回答
1885 浏览

iphone - NSM 可变数据。为什么保留计数 1 比我预期的要高?

我每天都在尝试使用牙线,锻炼身体,并确保在保留和释放之间保持平衡。

这让我感到困惑。我有一个伊瓦尔:

以及与之相关的综合属性:

我开始从服务器异步拉取数据:

并在分配数据缓冲区后立即在异步回调中使用:

为了使在上述 self.alignmentData 分配后触发的第一个异步回调中的问题复杂化,我再次检查保留计数:

因此,保留计数似乎从 0 上升到 2,然后下降到 1。有人可以向我解释这是怎么可能的吗?

注意:我被告知不要使用保留计数作为调试辅助,但这在非垃圾收集语言(如 Objective-C)中根本不实用。