0

如何快速知道要添加哪个属性@property

我得到了它@property (strong)@property (weak)我认为:strong如果类“拥有”引用的实例;weak如果它只是对一个对象的引用,该对象的存在不受我们当前类的管理。

如果属性是通过从 Interface Builder 中拖放来创建的,则有时会有一些神秘unretain_unsafe之处。这对我来说听起来很复杂,但我相信 Xcode 知道它的作用......

  • 我也有点理解retainassign有点不推荐使用......

  • 并且最好(强制)使用copy属性NSString...

  • 但是如果我想要一个@propertyto anint或 anenum怎么办?

  • 如果我的,我应该选择weak属性吗@property如果我指向单例

你看 :关于这些属性的问题太多了!

我认为像这里的一些成员那样对这些属性进行简短而清晰的解释会很好:)

4

1 回答 1

2

一些没有特定顺序的笔记

  • weak具有在释放引用对象时被 nil-ed 的附加功能,因此您永远不会留下指向垃圾的悬空指针
  • copy对属性使用语义不是强制性的NSString,但强烈建议这样做。虽然NSString是不可变的,但您的属性可能设置为可变字符串子类,因此如果您不希望它从您下面更改,您应该使用copy
  • 标量属性类型的经验法则非常简单:它们不计入引用,因此strong也不weak适用。但它们可以是readonlyreadwrite,具体取决于您的需要。
于 2013-05-02T18:19:24.443 回答