问题标签 [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 - Objective-C 保留计数说明
我有点理解保留的重要性。但不完全。我在谷歌上看了很多试图理解,但我仍然没有。
现在我正在编写一些代码(我正在做 iPhone 开发),我认为我应该使用它们,但完全不知道如何使用它们。
有人可以给我一个快速而好的例子来说明如何以及为什么使用它们吗?
谢谢!
iphone - 保留计数问题:请提供一些指导
[我确信这一点都不奇怪,但我需要一点帮助]
我有两个retain
属性
并且在viewDidLoad
我设置第二个等于第一个的方法中(所以现在retainCount是两个,我认为):
然后在每次搜索时我都会这样做
我认为我应该release
在这个分配之上做一个正确的 - 因为该属性应该导致额外的保留,对吧?- 但这会导致程序在我第二次运行搜索方法时爆炸。保留计数(没有额外的release
)在我第一次进入搜索方法时为 2,随后每次为 1(不幸的是,这是我所期望的)。
一些指导会有所帮助,谢谢!不发布是正确的吗?
objective-c - 数组保留问题
我对objective-c相当陌生,大部分都很清楚,但是在内存管理方面我有点不足。目前,我的应用程序所做的是在 NSURLConnection 期间-(void)connectionDidFinishLoading:(NSURLConnection *)connection
调用该方法时输入一个方法来解析一些数据,将其放入数组中,然后返回该数组。但是我不确定这是否是最好的方法,因为我没有在自定义方法中从内存中释放数组(方法 1,请参阅附加代码)
下面是一个小脚本,可以更好地展示我在做什么
.h 文件
.m 文件
iphone - 在游戏 iphone 中保留对象
我正在尝试创建一个游戏并且遇到了一个可能很容易解决的问题。
随着玩家进行游戏,许多对象(车辆)将被添加和移除。
车辆被添加到一个名为 currentVehiclesMutableArray 的数组中。
我的问题是我无法弄清楚如何保留 Vehicle 以便它保留在数组中,直到我完成它。
iphone - 在其他功能中保留计数 = 0?内存管理问题?
我在头文件中声明了一个 NSMutableArray:
和
在 .m 文件中,我有一个来自其他类的委托:
如果我想访问 cellForRowAtIndexPath 中的 self.myMuArr 它是空的(我检查了数组的保留计数,它是 0)
我究竟做错了什么?
当然它是在 dealloc 中发布的,没有别的地方。
我会非常感谢任何帮助:0)
objective-c - 存储数组中的 NSNumbers 消失
因此,我将 NSNumber 对象的 NSMutableArray 存储到文件“times.plist”中,然后加载它并在启动时保留它,NSLog 显示正确的值,但后来 [times count] 等于 0。为什么 NSNumbers 消失了?
iphone - iPhone .. NSString 被释放并释放 - 但我不知道在哪里或为什么
这是在杀死我!
我有一个看法。在 .h 文件中,我这样做:
@interface 和@properties 中还有其他内容……但这就是我要做startDate
的。
在 .m 文件中,我这样做:
这是我的问题:我的应用程序在numberOfSectionsInTableView
这是日志:
我的主要问题是为什么? startDate
从未在我的代码中明确发布。有什么我正在做的事情导致它在不知情的情况下被释放吗?
TIA
轻微编辑:
我尝试更换:
和:
它不再崩溃!我认为 NSDateFormatter 一直存在,直到变量不再需要它...... :(我误解了便利方法吗?
iphone - 为什么我不能保留 UIView-Pointer?
我正在尝试将 UIView 传递给另一个类 - 这有点工作,但我无法保留指针......
在我的 .h 文件中,我声明了视图:
我添加属性
在 .m 文件中,我综合了属性
然后我有一种设置视图的方法(也在 .h 文件中设置 - 相信我 :):
到目前为止,一切正常。当我记录 someView 时,我得到一个指针并且所有子视图都可以访问。
我从另一个类调用这个方法——这似乎工作正常。
现在 - 我设置了一个 IBAction 以在单击按钮后对该视图执行某些操作
此时,someView-var 再次为空 - 为什么????
我假设,当我使用@property(非原子,保留)时,变量会自动保留吗?
我还尝试在初始化时保留变量:
不工作
或者
也不行……
我到底做错了什么???
谢谢你的帮助!
iphone - Obj-C: retainCount > 1 in dealloc method?
If a retain (reference) count of an object is greater than 1 in a dealloc method right before releasing does this mean there will be a memory leak?
I was debugging my code to find another issue but then ran into this subtle one. One of my object's retain counts was 3 in the dealloc method. This object is a property with retain and is only called within the class. Now I imagine that the retain count should be 1 for all objects in the dealloc method before releasing right?
Here's a sample dealloc method in a custom class:
Is this normal?
ios - 保留核心数据的周期
我想我有一个问题,可能与核心数据中的保留周期有关。代码如下,其中 self.image 也是一个 NSManagedObject:
显然,“self.image.date =”有一个永远不会释放的保留(我认为它在 self.image 和 self 之间)。因此,self 对象将永远不会被释放,因此会泄漏。
编辑:所以基本上我和这里有同样的问题:https ://devforums.apple.com/message/246219#246219 我使用完全相同的结构,其中前面代码中的 self 对应于给定链接中的 Bar 。我也有相同的视图控制器结构。但是, refreshObject 没有帮助。
我尝试使用 NSManagedObjectContext refreshObject 方法来打破保留周期(如 Apple 文档中所建议的那样)。它对retainCount 没有影响。我可能没有以正确的方式使用它,但我找不到太多关于它的信息。如果我使用 NSManagedObjectContext:reset: 当我回到根视图控制器时会崩溃。
谢谢!