问题标签 [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 投票
1 回答
1875 浏览

objective-c - 目标-c addSubView 保留计数

我的印象是向视图添加子视图是这样的:

但似乎我不应该释放sitesel(控制器)?所以我应该释放视图还是什么,我之前已经确定了这个保留的东西,但是它已经滑倒了。(并且要使用 TableView,您必须继承 UITableViewController 对吗?)

(self.left 是 self.view 的子视图,添加在 nib 中)

0 投票
1 回答
556 浏览

iphone - 数组的内存泄漏 - 目标 c

尝试从我的代码中删除内存泄漏时遇到了一些麻烦。在下面的代码中,我在“configurationArray = [[NSArray arrayWithContentsOfFile:controllerConfigurationFilePath] retain];”这一行得到了内存泄漏 但是,当我删除保留时,应用程序崩溃并将保留更改为自动释放也会导致崩溃。

谢谢,威廉

0 投票
2 回答
2194 浏览

iphone - 如何在不对其执行 alloc 的情况下获得 NSNumber,因此它会响应 initWithInt?

我的理解是,诸如 [nsnumber initWithInt] 之类的“便利”方法应该创建指定类的副本,并初始化为所需的值。

Timeleft 是一个整数,因此 initWithInt 应该可以工作,结果应该是 minutesLeft(设置为保留的属性)应该接收并保留新的 NSNumber。问题是由于某种原因,我收到“NSNumber 可能无法响应 +initWithInt”的警告。因为有问题的属性设置为保留,我不想使用 [nsnumber alloc] initwithint,因为那样我必须释放它。

有任何想法吗?

0 投票
2 回答
210 浏览

ios - 如何正确释放没有句柄的分配对象

Instruments 指出这是内存泄漏,但我不确定如何正确释放它,或者何时应该释放它。是否有更好的约定为仅在循环内需要的新对象分配属性?具体线路是expense.addedDate = [NSDate new];.

0 投票
2 回答
3765 浏览

iphone - 我释放分配或保留的对象多少次?

我正在制作一款 iPhone 游戏。我想释放所有已分配或保留的对象。在dealloc函数中,我释放了所有此类对象,但后来我意识到有时我最终会释放尚未分配的对象。所以我想我需要retainCount在发布它之前检查它是否大于零。

我的问题是:

我是否只检查 是否retainCount大于零然后释放它?

或者

我应该像它一样多次释放它吗retainCount

谢谢你的帮助!

0 投票
2 回答
266 浏览

objective-c - 什么时候用self,什么时候用retain

我正在阅读“开始 iPad 开发”Apress 书,并注意到有时当作者为他们将使用的属性分配值时:

在其他时候,他们将使用:

在这两种情况下,变量都是定义为的属性:

我想知道是否有人知道为什么要这样做以帮助我更好地理解

谢谢,威廉

0 投票
2 回答
142 浏览

iphone - Objective-C 保留说明

我正在看这段代码:

稍后的...

我看到 self.viewControllers 和控制器现在指向相同的分配内存(类型为 NSMutableArray *),但是当我调用 [controllers release] 时 self.viewControllers 也没有释放,或者设置 self.viewControllers = controllers 自动保留那个记忆?

0 投票
3 回答
136 浏览

iphone - 为什么它在没有“保留”对象的情况下工作正常?

在这里,我在“test”方法中使用了“tempString”的自动释放。根据规则,我应该在 main 中使用“[temp retain]”。但我没有使用它。它仍然可以正常工作并打印输出。那么“留”的需要是什么?谁能告诉我原因?提前致谢。

0 投票
2 回答
1145 浏览

objective-c - 对 NSMutableSet 类型的属性使用保留与复制的语义是什么?

我一直在使用最优秀的 Accessorizer 为我在 Xcode 中的 Obj-C 代码自动神奇地生成 setter/getter。最近在 Accessorizer 中进行了更改:

旧版本的 Accessorizer:
@property (nonatomic, retain) NSMutableSet *setA;
@property (nonatomic, 保留) NSMutableSet *setB;

新版本的 Accessorizer:
@property (nonatomic, copy) NSMutableSet *setA;
@property (nonatomic, 复制) NSMutableSet *setB;

可悲的是,新版本使我的代码崩溃。在我的代码中,我执行以下操作:

// ...

上面的代码行使用旧方式(保留)可以正常工作,但使用新方式(复制)会崩溃。显然这里出了点问题。我广泛依赖 Accessorizer。有人可以澄清在 NSMutableSet 的上下文中使用复制/保留的含义吗?

谢谢,
道格

0 投票
2 回答
126 浏览

objective-c - UIView 被保留

我在追查为什么我的 UIView 没有解除分配时遇到了真正的问题。

我有一个带有几个 UIView 的 UIViewController,所有这些都是保留的 IBOutlet 属性。

我确定在 UIViewController 的 dealloc 方法中释放 UIView。但是我的 UIView 的 dealloc 永远不会被调用。我不知道还有什么保留了 UIView。

我的 UIViewController dealloc 中的所有其他 UIView 都很好,只是这个没有。

有没有人有任何好的技术来追踪可能造成这种情况的原因?

问候,丰富