Как перезаписать установщик хранимого свойства в Swift?
В Obj-C я могу перезаписать свой сеттер, но Swift, похоже, не очень рад, что getter/setters используются для сохраненного свойства.
Скажем, у меня есть класс Card
со свойством rank
. Я не хочу, чтобы клиент дал ему какое-либо недопустимое значение, поэтому в objective-C я могу перезаписать setRank
, чтобы он выполнял дополнительную проверку. Но willSet
в Swift, похоже, не помогает, потому что newValue
является константой, и нет смысла назначать rank
, потому что setter будет вызываться в цикле.