22
2020
03

swift把struct作为数据模型

3.1优点


安全性: 因为 Struct 是用值类型传递的,它们没有引用计数。

内存: 由于他们没有引用数,他们不会因为循环引用导致内存泄漏。

速度: 值类型通常来说是以栈的形式分配的,而不是用堆。因此他们比 Class 要快很多!

拷贝:Objective-C 里拷贝一个对象,你必须选用正确的拷贝类型(深拷贝、浅拷贝),而值类型的拷贝则非常轻松!

线程安全: 值类型是自动线程安全的。无论你从哪个线程去访问你的 Struct ,都非常简单。

3.2 缺点


Objective-C与swift混合开发:OC调用的swift代码必须继承于NSObject。

继承:struct不能相互继承。

NSUserDefaults:Struct 不能被序列化成 NSData 对象

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。