属性现在默认合成。编译器将使用属性名加上下划线前缀来创建 ivar。而实例变量默认是强存储类型,所以这意味着属性默认是强的。那么为什么 property 需要一个强关键字(看到很多人明确指定它)。有没有属性弱的情况?
对不起,如果这似乎是一个菜鸟问题。
编辑:IBOutlet,委托(delegate)应该是弱的,除此之外的任何其他属性都应该是弱的。
最佳答案
属性默认为 strong
和 atomic
。
显式输入它更多的是为了提高可读性。
有时您应该使用weak
属性。代表、IBOutlets 等...
但是您必须明确声明这些。
关于ios - 属性是否需要强关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26891004/