当我通过 Interface Builder 创建 UI 然后附加到 IBOutlets 时,我总是将属性设置为弱......
@property (nonatomic, weak) IBOutlet UILabel *someLabel;
然后在UIViewController
我可以参考self.someLabel
或的代码中_someLabel
,它工作正常。
但是,如果我在代码中设置 UI...
@property (nonatomic, weak) UILabel *someLabel;
和...
self.someLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0,10,10)];
然后我收到警告...
Assigning retained object to weak property; object will be released after assignment.
我通常的解决方法是将属性更改为,strong
但我不确定这是否正确?
那样行吗?如果没有,还有其他方法可以解决这个问题吗?