美文网首页
Swift 类class和结构体struct的区别

Swift 类class和结构体struct的区别

作者: ChancePro | 来源:发表于2018-11-27 22:52 被阅读1次

    类是引用类型,结构体是值类型。

    值类型在传递和赋值时将进行复制,而引用类型则只会使用引用对象的一个指向。引用类型是在堆上,而值类型是在栈上进行存储和操作。相比栈上的操作,对上的操作更加复杂耗时,所以苹果官方推荐使用结构体,这样可以提高App运行的效率。

    class有这几个功能struct没有的:

    • class可以继承,这样子类可以使用父类的特性和方法。
    • 类型转换可以在runtime的时候检查和解释一个实例的类型。
    • 可以用deinit来释放资源。
    • 一个类可以被多次引用。

    struct也有这样几个优势:

    • 结构较小,适用于复制操作,相比于一个class的实例被多次引用更加安全。
    • 无序担心内存泄漏或者多线程冲突问题。

    相关文章

      网友评论

          本文标题:Swift 类class和结构体struct的区别

          本文链接:https://www.haomeiwen.com/subject/hudgqqtx.html