iOS:__ weak vs(弱)

时间:2014-05-29 22:56:16

标签: ios objective-c automatic-ref-counting

这两行代码之间是否存在差异?

__weak IBOutlet UITextField *usernameField;

@property (weak) IBOutlet UITextField *usernameField;

如果在.h的接口部分或.m文件中声明其中任何一个,该怎么办?

2 个答案:

答案 0 :(得分:6)

是。第一个示例声明了一个名为usernameField的弱实例变量,但第二个示例声明了一个名为usernameField的弱属性,以及一个名为_usernameField的实例变量,该属性可由该属性访问。

如果在.m文件的@interface部分声明它,那么只能在该.m文件中访问它(除非你搞乱了Objective-C运行时)。

答案 1 :(得分:2)

差异不在于weak引用,而在于第一个是instance,第二个是@property

__weak(weak)是相同的,但第二个用作属性的属性。