swift成长之路iOS面试-底层

swift的一些面试题

2019-07-14  本文已影响9人  无神
swift面试题.png

一、open与public的区别

二、struct与class 的区别

三、swift把struct作为数据模型

3.1优点

  1. 安全性: 因为 Struct 是用值类型传递的,它们没有引用计数。
  2. 内存: 由于他们没有引用数,他们不会因为循环引用导致内存泄漏。
  3. 速度: 值类型通常来说是以栈的形式分配的,而不是用堆。因此他们比 Class 要快很多!
  4. 拷贝:Objective-C 里拷贝一个对象,你必须选用正确的拷贝类型(深拷贝、浅拷贝),而值类型的拷贝则非常轻松!
  5. 线程安全: 值类型是自动线程安全的。无论你从哪个线程去访问你的 Struct ,都非常简单。

3.2 缺点

  1. Objective-C与swift混合开发:OC调用的swift代码必须继承于NSObject。
  2. 继承:struct不能相互继承。
  3. NSUserDefaults:Struct 不能被序列化成 NSData 对象。

参考文章

Swift 浅谈Struct与Class

上一篇下一篇

猜你喜欢

热点阅读