赞助商

swift – 无主参考有什么好处?

发布时间:2019-05-15 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了swift – 无主参考有什么好处?脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
弱和无主引用用于防止在两个对象各自保持对另一个的引用的情况下的保留周期.我得到弱者的使用,但我没有得到无主的使用.以下是Apple的示例,其中两个对象之一应使用无主参考:
class Customer {
    let name: String
    var card: CreditCard?
    init(name: String) { self.name = name }
}

class CreditCard {
     let number: UInt64
     unowned let customer: Customer
     init(number: UInt64,customer: Customer) {
         self.number = number
         self.customer = customer
     }
}

这个想法是没有客户就不能存在信用卡.因此,信用卡可以省去使用弱引用所需的可选展开,并且可以使用无主参考.嗯…那么为什么不使用强大的参考?如果对客户的所有其他引用都消失了(这不应该发生?)那么信用卡使用自己的引用会导致崩溃;而使用强引用会导致内存泄漏.咦?两种邪恶之间的选择?最好崩溃,因为在开发和测试期间更容易被注意到?

请帮忙解决一下.谢谢.

解决方法

这实际上不是问题,因为无论如何,无主参考不会创建任何类型的强参考周期.取消分配Customer对象后,其CreditCard也将立即解除分配.您的CreditCard永远不会有机会引用该已取消分配的客户.

总结

以上是脚本之家为你收集整理的swift – 无主参考有什么好处?全部内容,希望文章能够帮你解决swift – 无主参考有什么好处?所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。
标签: