我迟到了Swift。我记得从ObjectiveC开始的日子里,引用可以检查其是否为零,否则可以分配一个值然后返回它。
我想实现类似的行为,但它可能不适用于Swift。
internal (set) var _tags: [Tag]?
public func tags() -> [Tag]? {
if let tgs = _tags {
return tgs
}
else {
if let tgs = AssignTags() {
_tags = tgs
return tgs
}
}
return _tags
}
基本上,尝试缓存AssignTags()
该方法看起来很奇怪,更好的方法吗?