Можно ли синтезировать методы доступа с булевыми свойствами в соответствии с рекомендациями по кодированию (например, isEnabled getter)? - PullRequest
0 голосов
/ 27 сентября 2011

Я прочитал Руководство по кодированию для какао для методов доступа и предлагает вам написать методы получения для переменных экземпляра, выраженных как прилагательное (например: enabled) как isEnabled вместо простого enabled .. есть ли способ указать ключевому слову @synthesize на создание такого метода получения, или вы всегда должны писать объявление и реализацию метода получения вручную , позволяя ключевому слову @synthesize генерировать только метод установки ? Я знаю, что это всего лишь рекомендации, но я думаю, что лучше придерживаться поведения, предложенного официальными документами:)

Ответы [ 2 ]

2 голосов
/ 27 сентября 2011

Вы можете сделать следующее:

@property (nonatomic, getter=isEnabled) BOOL enabled;

Это будет использовать isEnabled в качестве имени для метода получения.

Вы просто @synthesize это как обычно:

@synthesize enabled;
0 голосов
/ 27 сентября 2011

Как отметил @ Douwe Maan в своем ответе, "вы можете установить имена методов getter / setter в объявлении @property и просто @synthesize it" чтобы компилятор позаботился об определениях методов получения и установки.

Но, если вы хотите иметь свои собственные реализации getter или setter или обоих, вы можете очень хорошо "реализовать методы в вашем файле реализации и пропустите строку @synthesize ".

Вы можете "оба @ synthesize свойство и добавлять свои собственные реализации методов получения / установки" "1022 *, и в этом случае компилятор просто будет использовать ваш getter / setter реализации методов без их генерации.

...