#accessor #objective-c-2.0
#средство доступа #objective-c-2.0
Вопрос:
Существует атрибут копирования для синтезированных методов доступа, например:
@property (copy) NSMutableString *string;
При назначении с использованием этого метода настройки, кажется, всегда вызывается метод копирования, хотя я хотел бы создать изменяемую копию того, что я когда-либо назначал string
, во время назначения переменной экземпляра string
.
Является ли это известной проблемой и существуют ли какие-либо обходные пути?
Спасибо 🙂
Ответ №1:
Не вызывайте @synthesize string
в вашем файле реализации .m и вместо этого напишите свой собственный метод получения.
например
- (NSMutableString *) string
{
NSMutableString * stringToReturn = [NSMutableString stringWithString: someStringObject];
}
Более подробную информацию о свойствах (и что делать, если вы этого не делаете @synthesize
) можно найти на:
p.s. имя свойства «string» может ввести в заблуждение любого, кто посмотрит на ваш код в будущем… Я бы рекомендовал изменить это, чтобы оно было более специфичным для программы