@property setter для BOOL - PullRequest
       11

@property setter для BOOL

3 голосов
/ 23 мая 2010

У меня проблемы с настройкой BOOL с использованием @property и @synthesize. Я использую @property BOOL isPaused; И я могу получить его, используя [myObject isPaused];, но мне не удается установить его. Я хотел бы использовать [myObject setPaused: NO];. Я также попробовал @property (setter=setPaused) BOOL isPaused;, но если я не ошибаюсь, то мне нужно написать этот сеттер сам.

1 Ответ

6 голосов
/ 23 мая 2010

Почему бы не использовать точечную запись?

myObject.isPaused = YES;
return myObject.isPaused;

Если ваше свойство объявлено как @property BOOL isPaused, то метод setter всегда вызывается как

[myObject setIsPaused:YES];

Для переименованияесли вы должны указать полную подпись , включая двоеточия :

@property(setter=setPaused:) BOOL isPaused;
...
[myObject setPaused:YES];

Кстати, соглашение об именовании не должно включать глаголы в свойстве.

@property(getter=isPaused) BOOL paused;
...