Свойство Obj-C называется «скрытым». Это означает, что базовый логический член называется _hidden, и для вас автоматически синтезируются 3 метода доступа: 2 получателя: isHidden
и hidden
плюс один установщик: setHidden
.
В Obj-C, используя точечную запись, вы можете установить свойство только с помощью:
myMenuItem.hidden = YES; // or NO
или в обычном сообщении:
[myMenuItem setHidden:YES]; // or NO
, чтобы получить значение, вы можете либо myMenuItem.hidden
, myMenuItem.isHidden
, [myMenuItem hidden]
или [myMenuItem setHidden]
Теперь Swift заимствует свое соглашение об именах из (на мой взгляд, языкового уровня) C и C ++. Логическое свойство будет иметь как его установщик, так и получатель с именем «isHidden».
Когда XCode конвертирует заголовки Cocoa Obj-C Framework с помощью интерфейса Obj-C, определяющего свойство скрытого --- он синтезирует свойство swift "isHidden", которое доступно для чтения / записи.
Вот почему вы можете использовать как геттер, так и сеттер:
if myMenuItem.isHidden {
}
и
myMenuItem.isHidden = true // or false
Надеюсь, что это охватывает проблему