首页 新闻 会员 周边

Swift在已经有弱引用(Weak References)了无主引用(Unowned References)语法存在的理由?

0
悬赏园豆:20 [已关闭问题] 关闭于 2016-10-18 09:42

Weak References和Unowned References区别

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html

讲的很清楚了。我的疑问是为什么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是否还有其他存在的理由?

希望有大神能解决我的疑惑。

matthew.zz的主页 matthew.zz | 菜鸟二级 | 园豆:202
提问于:2016-10-17 14:25
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册