比较项 | struct | class | |
---|---|---|---|
类型 | 值类型 | 引用类型| | |
属性初始化 | 可用默认构造直接初始化 | 需要自己创建构造方法| | |
变量赋值 | 深拷贝 | 浅拷贝,增加原对象引用 | |
方法中修改属性 | 需要添加mutating | 不需要 | |
继承关系 | 不能继承 | 可以继承 | |
内存 | 栈上,自动内存管理 | 堆上,手动内存管理 | |
速度 | 高效 | 相比效率低 | |
线程安全 | 自动线程安全的 | 大多是非线程安全的 | |
与oc混编 | 不支持,oc无法调struct | 支持混编 | |
序列化 | 不支持,可用字节转NSData | 支持序列化 |
Comments
comments powered by Disqus