Ответ 1
Ваше предположение было близким, но некоторые вещи можно было изменить. Я постараюсь помочь вам приблизиться к версии Objective-C.
Прежде всего, nonatomic
и assign
неактуальны в быстром. Это оставляет нам
@property (getter = isOpen) BOOL open;
Так как свойства в swift являются просто переменными экземпляра, быстрый перевод будет следующим.
var open:Bool
Несмотря на то, что он имеет ту же базовую функциональность, что и версия Objective-C, ему не хватает имени getter (isOpen
). К сожалению, для этого нет прямого перевода для этого (пока). Вы можете использовать пользовательский getter и setter.
var open:Bool {
get {
// custom getter
}
set {
// custom setter
}
}
Довольно грубая работа заключалась в том, чтобы сделать еще одну функцию, буквально называемую isOpen
, которая будет действовать как получатель.
func isOpen() -> Bool { return self.open }
В заключение, то, что вы просите, только немного возможно, но, надеюсь, в более поздних версиях быстрой может стать реальностью.