Weak References和Unowned References区别
讲的很清楚了。我的疑问是为什么Weak References一定要限制为可选变量,而Unowned References则要限制为非可选的常量。在Swift里可选/非可选,常量/变量已经有现成的语法可以表达。比如下面这段编译不通过的代码。
class CreditCard {
let number: UInt64
weak let customer: Customer
init(number: UInt64, customer: Customer) {
self.number = number
self.customer = customer
}
}
通过合理的组合weak\var\let已经很好的表达意图。根据奥卡姆剃刀法则,好像实在没有再增加一个Unowned References概念的必要。
本人刚开始接触swift,不知道Unowned References是否还有其他存在的理由?
希望有大神能解决我的疑惑。