※ 引述《darktt (小朱)》之铭言:
: ※ 引述《issuemylove (skill)》之铭言:
: : 看到版上很多人讨论 swift
: : 但是目前我正在进行的专案是用 objective-c (obj-c)
: : 已知swift 和 obj-c 可以互相使用
: : 主要是 obj-c 部分使用 swift 不知道会不会有问题
: : 使用上麻烦或者相容性上的bug
: : 毕竟新版本我会怕怕的
: : 大家建议obj-c 加上swift互相使用吗?
: : 或改成全部 swift? 但我一想我应该会吐血...
: : 但用 obj-c 刻完全部感觉好像要变成上时代的产物 囧
: : 谢谢大家的讨论
: 首先混用这点,我是听说可以,
: 不过 Swift 是一个易学却难读的程式,
: 但是 Objective-C 是难学却易读,
: 这两者相反,混用后的整体程式可读性会变得很凄惨。
其实重点我觉得还是 coding convention 与架构切割
Swift 很 expressive, 所以写的人需要自制, 多人协作时要协调
不然很容易就会变成 Perl 或发疯的 Ruby (如果你知道我在讲什么)
然后如果某个部分是 Objective-C, 那边就用 Objective-C, 反之亦然
尽量把两边沟通的部分做成 interface 才是正解
这对一般性的开发也通用, 只是跨语言更需要注意
: 另外我不认为 Swift 马上成为一个流行,
: 主要是 Objective-C 有着 C 的血统,
: 所以它的部分功能是由 C 提供的,
: 像是 GCD 与 math.h 等等,
: 这是目前 Swift 所没有的。
Swift 当然有 GCD, 你以为 Apple 工程师都制杖?
它和很多 C 标准库的东西都有被 expose 成 Swift API
只是你要 import Foundation 而已
不过 Swift 不能马上取代 Objective-C 倒是没错
至少向后相容就是个问题, 尤其台湾公司超爱支援超旧的 OS 版本 -_-
另一个比较麻烦的是与第三方函式库整合
C 就算了, 要整合 C++ 还要先写 wrapper 把 class 包起来
这部分 Objective-C (应该说 Objective-C++) 还是好太多