问题标签 [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.
objective-c - 目标-c addSubView 保留计数
我的印象是向视图添加子视图是这样的:
但似乎我不应该释放sitesel(控制器)?所以我应该释放视图还是什么,我之前已经确定了这个保留的东西,但是它已经滑倒了。(并且要使用 TableView,您必须继承 UITableViewController 对吗?)
(self.left 是 self.view 的子视图,添加在 nib 中)
iphone - 数组的内存泄漏 - 目标 c
尝试从我的代码中删除内存泄漏时遇到了一些麻烦。在下面的代码中,我在“configurationArray = [[NSArray arrayWithContentsOfFile:controllerConfigurationFilePath] retain];”这一行得到了内存泄漏 但是,当我删除保留时,应用程序崩溃并将保留更改为自动释放也会导致崩溃。
谢谢,威廉
iphone - 如何在不对其执行 alloc 的情况下获得 NSNumber,因此它会响应 initWithInt?
我的理解是,诸如 [nsnumber initWithInt] 之类的“便利”方法应该创建指定类的副本,并初始化为所需的值。
Timeleft 是一个整数,因此 initWithInt 应该可以工作,结果应该是 minutesLeft(设置为保留的属性)应该接收并保留新的 NSNumber。问题是由于某种原因,我收到“NSNumber 可能无法响应 +initWithInt”的警告。因为有问题的属性设置为保留,我不想使用 [nsnumber alloc] initwithint,因为那样我必须释放它。
有任何想法吗?
ios - 如何正确释放没有句柄的分配对象
Instruments 指出这是内存泄漏,但我不确定如何正确释放它,或者何时应该释放它。是否有更好的约定为仅在循环内需要的新对象分配属性?具体线路是expense.addedDate = [NSDate new];
.
iphone - 我释放分配或保留的对象多少次?
我正在制作一款 iPhone 游戏。我想释放所有已分配或保留的对象。在dealloc
函数中,我释放了所有此类对象,但后来我意识到有时我最终会释放尚未分配的对象。所以我想我需要retainCount
在发布它之前检查它是否大于零。
我的问题是:
我是否只检查 是否retainCount
大于零然后释放它?
或者
我应该像它一样多次释放它吗retainCount
谢谢你的帮助!
objective-c - 什么时候用self,什么时候用retain
我正在阅读“开始 iPad 开发”Apress 书,并注意到有时当作者为他们将使用的属性分配值时:
在其他时候,他们将使用:
在这两种情况下,变量都是定义为的属性:
我想知道是否有人知道为什么要这样做以帮助我更好地理解
谢谢,威廉
iphone - Objective-C 保留说明
我正在看这段代码:
稍后的...
我看到 self.viewControllers 和控制器现在指向相同的分配内存(类型为 NSMutableArray *),但是当我调用 [controllers release] 时 self.viewControllers 也没有释放,或者设置 self.viewControllers = controllers 自动保留那个记忆?
iphone - 为什么它在没有“保留”对象的情况下工作正常?
在这里,我在“test”方法中使用了“tempString”的自动释放。根据规则,我应该在 main 中使用“[temp retain]”。但我没有使用它。它仍然可以正常工作并打印输出。那么“留”的需要是什么?谁能告诉我原因?提前致谢。
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 的上下文中使用复制/保留的含义吗?
谢谢,
道格
objective-c - UIView 被保留
我在追查为什么我的 UIView 没有解除分配时遇到了真正的问题。
我有一个带有几个 UIView 的 UIViewController,所有这些都是保留的 IBOutlet 属性。
我确定在 UIViewController 的 dealloc 方法中释放 UIView。但是我的 UIView 的 dealloc 永远不会被调用。我不知道还有什么保留了 UIView。
我的 UIViewController dealloc 中的所有其他 UIView 都很好,只是这个没有。
有没有人有任何好的技术来追踪可能造成这种情况的原因?
问候,丰富