强弱IBOutlets之间的区别

Din*_*esh 7 iphone xcode ios ios5

Xcode iOS 5.1 SDK strongweakIBOutlets有什么区别?

我之前使用的是4.3 SDK,其中没有强大的IBOutlets.此外,iOS 5.1 SDK中不提供(自动)版本.

Phi*_*lip 13

Strong表示只要此属性指向一个对象,该对象就不会自动释放.在非ARC中,它是同义词retain

指定与目标对象存在强(拥有)关系.

Weak相反,意味着属性指向的对象可以自由释放,但前提是它将属性设置为NULL.在ARC中,您使用weak来确保您不拥有它指向的对象

指定与目标对象存在弱(非拥有)关系.如果目标对象已取消分配,则属性值将自动设置为nil.

Nonatomic意味着如果多个线程尝试一次读取或更改属性,则可能发生错误.后果是会有部分写入的值或过度释放的对象= CRASH.

请看Apple的文档.

从那里,例子是

@property (weak) IBOutlet MyView *viewContainerSubview;
@property (strong) IBOutlet MyOtherClass *topLevelObject;
Run Code Online (Sandbox Code Playgroud)

检查这一点以了解更多关于strongweak.