Как установить свойство типа boolean в объектном классе C
Как использовать логическое свойство в объектном классе C, мне понравилось:
@property (nonatomic, copy) BOOL *locationUseBool;
но он дает ошибку:
Свойство с атрибутом 'copy' должно быть типа объекта.
Каков правильный способ объявления?
Ответы
Ответ 1
Вы также можете объявить этот путь.
@property (assign) BOOL locationUseBool;
В принципе, если вы говорите неатомически, и вы создаете аксессоров, используя @synthesize, то если несколько потоков пытаются изменить/прочитать свойство сразу, может случиться плохое. Вы можете получить частично записанные значения или перевыпущенные/сохраненные объекты
В многопоточной программе атомная операция не может быть прервана частично, тогда как неатомные операции могут.
Ответ 2
@property (nonatomic, assign) BOOL locationUseBool;
Нет звездочки, нет копии, нет сохранения.
Ответ 3
Это работало для меня.
@property (nonatomic) BOOL locationUseBool;
В объявлении свойства нет символа звездочки *. Кроме того, использование 'assign' не является обязательным.