在objective-c中,我知道静态变量(应该?)在程序的生命周期内保留其值.但是,如果它存储的指针,它算不算强的ARC?我可以依赖它并确保一旦我将它分配给静态变量,该实例永远不会出局吗?
static ClassA* shared;
-(id)init
{
if (self=[super init]) {
shared=self;
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
tro*_*foe 15
是的,一旦分配,你就可以依赖它.
在过渡到ARC发行说明状态:
在ARC下,strong是对象类型的默认值.
然后:
__strong是默认值.只要存在指向它的强指针,对象就会保持"活着".
如果你的static指针引用了对象,它将保持"活着".指针的范围(无论是全局,堆栈上的指针还是实例变量)都没有区别.
| 归档时间: |
|
| 查看次数: |
3391 次 |
| 最近记录: |