问题标签 [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.
iphone - 如果我不保留 IBOutlet 会怎样?
如果我这样做:
而不是这个:
会不会有不好的事情发生?我知道在第二种情况下,该字段被保留,但是由于笔尖拥有该字段,这是否会有所不同?如果没有保留,该字段会消失吗?在什么情况下?第一种情况下的代码有效,想知道这是否是内存管理方面的问题。
ios - 从 NIB 加载后 IBOutlet 实例为(空)
我正在开发一个 iPhone 应用程序,并且在我的控制器中获得对 IBOutlet 字段的(空)引用。我有一个 UIViewController 子类,它在我的 XIB 中设置为文件的所有者。我有一组连接到控制器的 UI 元素。从 NIB 加载并尝试在这些 UI 元素上设置属性后,我发现它们是 (null)。为了澄清,一些代码:
ExpandSearchPageController.h:
展开搜索页面控制器.m:
ExpandSearchPageController 设置为 ExpandSearchPage.xib 的文件所有者。ExpandSearchPage.xib 的 UITextView 连接到 completeMessageView。
当我打电话
结果是
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。
有人可以帮忙吗?
问候,埃里克。
ios - Objective-C 101(保留与分配)NSString
一个 101 问题
假设我正在制作汽车数据库,每个汽车对象都定义为:
为什么是@property(nonatomic, retain) NSString *name;
而不是@property(nonatomic, assign) NSString *name;
?
我知道这assign
不会像那样增加引用计数器retain
。但是为什么要使用retain
,因为它是对象的name
成员,todo
它的范围是它自己。
也没有其他外部函数会修改它。
memory - 您可以将保留计数发送到 NSLog 以帮助学习吗?
只是好奇是否有使用 NSLog 显示对象保留计数。我只想将它们打印到控制台以帮助了解保留/释放如何在一些简单的代码中工作?
干杯-加里-
objective-c - objective-c 对象没有得到释放:ed
我在objective-c中遇到了一个对象没有被释放的问题。我很确定这是因为它被保留在某个地方,但我不知道在哪里(检查应该为 0 的 retainCount 返回 1)。我已经多次浏览了我的代码,但没有看到我没有发布的保留它的内容。甚至可能是我正在使用的框架中的错误。
你会如何处理这样的事情?我想也许你可以搜索内存并查看指向该对象的内容,从而更容易弄清楚为什么会这样,但我不太确定如何实现这一点。也许另一种解决方案?
objective-c - 在发送消息之前检查有效的委托对象
我正在尝试在 Objective-C 中实现委托模式,但是有时在调用委托时遇到错误访问异常。这似乎是由被释放的代表引起的。Apple 不建议保留代表。
在尝试向其发送消息之前,如何检查我的代表是否仍然有效?
iphone - 释放通过 imageNamed 加载的保留 UIImage 属性?
在我的类对象中,我(nonatomic, retain)
为UIImage
. 我为这个属性分配了一个通过加载的图像
如果在某个时候我想将此属性重新分配给另一个图像,我是否必须释放先前的参考?
我很困惑,因为我知道我应该通过保留属性释放它。但是因为imageNamed:
是一种方便的方法(不使用 alloc),我不确定在这里应用什么规则。
感谢您的洞察力!
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)。不应该在某个地方发布吗?
谢谢
iphone - NSM 可变数据。为什么保留计数 1 比我预期的要高?
我每天都在尝试使用牙线,锻炼身体,并确保在保留和释放之间保持平衡。
这让我感到困惑。我有一个伊瓦尔:
以及与之相关的综合属性:
我开始从服务器异步拉取数据:
并在分配数据缓冲区后立即在异步回调中使用:
为了使在上述 self.alignmentData 分配后触发的第一个异步回调中的问题复杂化,我再次检查保留计数:
因此,保留计数似乎从 0 上升到 2,然后下降到 1。有人可以向我解释这是怎么可能的吗?
注意:我被告知不要使用保留计数作为调试辅助,但这在非垃圾收集语言(如 Objective-C)中根本不实用。