假设有一个类 名字叫做Puzzled继承UIViewController
声明了个属性 @property (nonatomic, strong) UIButton *btn;
跟声明了属性 @property (nonatomic, weak) UIButton *btn;
在- (void)viewDidLoad方法中调用 {
UIButton *btn = [[UIButton alloc]init];
self.btn = btn
}的区别是什么
假设有一个类 名字叫做Puzzled继承UIViewController
声明了个属性 @property (nonatomic, strong) UIButton *btn;
跟声明了属性 @property (nonatomic, weak) UIButton *btn;
在- (void)viewDidLoad方法中调用 {
UIButton *btn = [[UIButton alloc]init];
self.btn = btn
}的区别是什么
如果是有别的对象引用着他,就用weak,不然就用strong
如果没有对象引用他,他创建完出了作用域,就会remove
还有就是当xib或者storyboard中拖物过来的,那么此时是用weak,
1 回答837 阅读
2 回答633 阅读
1 回答621 阅读
2 回答626 阅读
1 回答709 阅读
649 阅读
由于生成的button并没有别的地方保持引用,weak属性的property的话在你赋值之后就丢失了。