oc 和 swift 怎么选?
![](/image/cover/007.jpeg)
oc 和 swift 怎么选?
都有哪些优点和缺点?
objective-c
1 | id<IPLXEmbyDataSource> store = XGET(IPLXEmbyDataSource); |
优点:
- 借助宏,可以实现很多方便的功能,简化代码
- 可以直接调用c/c++代码
- 借助oc运行时,可以方便实现很多功能
- 头文件和实现文件分离,方便查看代码,屏蔽实现细节
- 空安全,对空指针发消息不会崩溃
- 简单易学,效率高
- 可以直接调用swift代码
- 生态好,很多第三方库
缺点:
- 泛型支持不好
- 没有名称空间
- 苹果不更新了
- 逆向工程容易
swift
1 | listView.viewModel.canEditItem = { (site: Any) in |
优点:
- 泛型支持好
- 有名称空间
- 新版添加了宏,可以实现很多方便的功能,简化代码,但是不如oc的宏强大,比如上面的
guard let ...
这个用宏实现就会报错 - UI视图可以预览
- 支持多平台,并且可以直接调用oc代码
- 逆向工程难
缺点:
- 语法繁琐,学习成本高
- 屏蔽了很多底层细节
项目中如何选择?
如果是新项目,两种都可以,反正可以混编。
- 本文链接: https://ourfor.top/article/oc-vs-swift/
- 版权声明: 本博客所有文章除特别声明外,均采用 ©BY-NC-SA 许可协议。转载请注明出处!