NSMutableString и настройка методов доступа Objective-C 2.0 - PullRequest
0 голосов
/ 07 ноября 2011

Существует атрибут копирования для синтезированных методов доступа, например:

@property (copy) NSMutableString *string;

При назначении с использованием этого метода установки, кажется, всегда вызывается метод копирования, даже если я хотел бы создать изменяемую копию того, чтокогда я присваиваю string, во время присваивания переменной экземпляра string.

Это известная проблема и есть ли обходные пути?

Спасибо: -)

1 Ответ

1 голос
/ 07 ноября 2011

Не вызывайте @synthesize string в своем файле реализации .m, а вместо этого пишите свой собственный метод получения.

например,

- (NSMutableString *) string
{
    NSMutableString * stringToReturn = [NSMutableString stringWithString: someStringObject];
}

Дополнительная информация о свойствах (и что делать, когда выне делайте @synthesize) можно найти по адресу:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html

ps имя свойства "строка" может сбить с толку любого, кто смотрит на ваш код в будущем... Я бы порекомендовал изменить это на более специфичный для программы

...