automatic-ref-counting

    3热度

    2回答

    是否有任何方式向特定方法的“客户端”指示闭包参数将被保留? 例如,具有下面的代码: import Foundation typealias MyClosureType =() -> Void final class MyClass { private var myClosure: MyClosureType? func whatever(closure: MyClo

    7热度

    2回答

    我已经完成了有关ARC和弱/无主自我(Shall we always use [unowned self] inside closure in Swift)的stackoverflow和苹果文档的研究。我了解强参考周期的基本概念,以及它如何导致内存泄漏并不好。但是,我试图让我的头在什么时候使用弱/无主的自我封闭。相反,在进入“理论”时,我认为如果有人能够根据我所掌握的最底层的三种情况来解释它们,那

    1热度

    2回答

    我刚刚在ARC上提供了一个教程,并提供了此代码。 以下ViewController类及其下面的Vehicle类。 我从中得到的结果是,ARC基本上追查一个实例化的类并为它分配一块内存。由于创建实例的“强”引用,因此增加了实例有多少引用的增量。一旦所有这些设置为零,ARC就会从内存中释放该实例。教练还说了一些话,一旦所有的引用没有被使用,它就从内存中释放。我并不完全理解它们没有被“使用”的部分,所以

    0热度

    1回答

    我正在开发的手表应用程序没有使用ARC。因此,我释放了在dealloc中的每个接口中的对象的所有属性,如下所示。 -(void)dealloc { [obj1 release]; [obj2 release]; ... [super dealloc]; } 这导致崩溃时,我关闭接口(例如回到主界面)。这是为什么?

    0热度

    1回答

    我总是假设在ARC dealloc下总是从最初用来创建对象的同一个线程中调用,但我对此并不确定,在苹果官方文档中我找不到任何对此的引用。这是真的?或者从最后一个引用被保存的线程调用? 编辑: 我明白ARC会自动添加retain和release电话,这是否意味着dealloc将在同一个线程,其中最后release叫上执行?

    -1热度

    3回答

    我学习obj-c/swift弧系统。通过CFGetRetainCount函数打印创建实例的保留计数的日志。 我希望像这样的 let foo1 = NSObject() // foo1 retain count 1 let foo2 = foo1 // foo1 retain count 2 foo2 = nil // foo1 retains count 1 foo1 = nil

    0热度

    1回答

    我收到很多低内存警告,并最终在iOS应用程序中崩溃。 我有理由相信它与UICollectionTable的数据模型中包含的强/未知引用有关,该引用是BrowsableRecipe类型的非可选对象的非可选数组。我初始化数组如下: var recipes = [BrowsableRecipe]() ,其中数据是从服务器异步调用返回的BrowsableRecipe秒的列表。 ServerMessen

    0热度

    3回答

    我写了一个示例代码来建立服务器连接。请找到我在下面写的代码。 __weak typeof(self) weakSelf = self; self.dataTask = [defaultSession dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *err

    0热度

    1回答

    我得到了与Xcode 7.3仪器内存泄漏和使用迅速,请有人解释内存泄漏的实际原因。 仪器屏幕截图如下。它在NSURLSession中有一些问题。

    0热度

    2回答

    在运行时ARC会做额外的事情吗?关于this answer的评论说“ARC在运行时颠簸引用计数,只有在它们达到零时才会释放”。这是真的?如果是这样的话,为什么在编译时添加发布调用的时候呢?