相关疑难解决方法(0)

查看ARC插入的位置保留和释放

是否有编译器选项(或其他方式)来查看ARC插入保留和释放的位置?这主要是出于好奇.我可以在反汇编代码中看到它们,但有时候很难通过.

objective-c automatic-ref-counting

19
推荐指数
2
解决办法
544
查看次数

引擎盖下的__weak合格变量发生了什么?

通常,weak引用用于避免应用程序对象图中的保留周期.我明白那一部分.现在我想更进一步,了解它们是如何在引擎盖下工作的.

搜索一下,我读过当我使用__weak限定符时,与该限定符关联的变量在自动释放池中注册,但这是什么意思?为什么对象在池中注册?使用什么类型的游泳池?它是主池还是其他一些特制的?

当我使用这段代码时:

id _weak myWeakObj = [[NSObject alloc] init];
Run Code Online (Sandbox Code Playgroud)

编译器给了我一个警告,我可以修复:

id _strong myStrongObj =  [[NSObject alloc] init];
id _weak myWeakObj = myStrongObj;
Run Code Online (Sandbox Code Playgroud)

那么,基于前一个问题,引用的对象会发生什么myStrongObj?如果可能的话,我想知道编译器的代码是什么样的?

memory-management weak-references objective-c automatic-ref-counting

3
推荐指数
1
解决办法
1013
查看次数