【发布时间】:2014-07-29 15:59:01
【问题描述】:
如何在 Swift 中覆盖存储属性的设置器?
在 Obj-C 中,我可以覆盖它的 setter,但 Swift 似乎对将 getter/setter 用于存储属性并不满意。
假设我有一个 Card 类,其属性名为 rank。我不希望客户端给它任何无效值,因此,在 Objective-C 中,我可以覆盖 setRank 以便它执行额外的检查。但是 Swift 中的 willSet 似乎没有帮助,因为 newValue 是常量,分配 rank 没有意义,因为 setter 将在循环中被调用。
【问题讨论】:
-
您找到了这样做的方法吗?我自己也需要这种功能……
-
我找到了。看看我的回答...
-
didGet 或模拟怎么样?