问题
If I have a read-only string property, is it necessary to specify strong (or retain) or copy in the declaration? If I don't specify, is one of them assumed?
It seems to me the ownership attribute is only useful when you have a setter.
@property (nonatomic, readonly) NSString *name;
回答1:
That is mostly correct. For a readonly property, strong, retain, weak, and assign have no effect. But if you also declare the property elsewhere as readwrite (most frequently in an anonymous category in the .m), then the other modifiers need to match.
来源:https://stackoverflow.com/questions/9405211/does-an-objective-c-readonly-property-need-to-specify-strong-or-copy