Скажем, у меня есть класс с именем SomeClass
с именем свойства string
:
@interface SomeClass : NSObject
{
NSString* name;
}
@property (nonatomic, retain) NSString* name;
@end
Я понимаю, что этому имени может быть присвоен NSMutableString
, и в этом случае это может привести к ошибочному поведению.
- Для строк в целом всегда полезно использовать атрибут
copy
вместоretain
? - Является ли "скопированное" свойство каким-либо образом менее эффективным, чем такое "сохраненное" свойство?