打算用 Swift 开始搞 App,有啥坑吗?

2014-10-14 16:48:32 +08:00
 jseanj
之前用Swift写了些扩展方法,感觉坑还是很多的。
不知道大家是否已经用Swift开始写了?有啥注意事项吗?
5249 次点击
所在节点    程序员
25 条回复
zioc
2014-10-14 17:00:26 +08:00
点“加入收藏”没反应,要点两次,为啥?

收藏。
morphinewan
2014-10-14 17:47:05 +08:00
最大的坑就是到目前为止Swift 1.0还没有稳定,XCode 6.0.1正式版写的工程,到了6.1 GM下,大批大批的编译错误。就是应为苹果的底层SDK还在不停的调整,你妹的,每一个新版本,编译器总是改动若干个接口定义,参数类型什么的。导致你不停的去适配最新的接口定义让自己的程序通过编译。
hjc4869
2014-10-14 19:45:06 +08:00
老老实实OC吧。。
WildCat
2014-10-14 19:49:05 +08:00
已经在用它写V2新版客户端,建议先买喵神那本新书看看。
coymail
2014-10-14 20:08:18 +08:00
@WildCat 哪本书求介绍
a591826944
2014-10-14 20:11:29 +08:00
@WildCat 同求
san3ye
2014-10-14 20:15:32 +08:00
如果是练手,随便玩。如果是严肃项目,还是objc..
WildCat
2014-10-14 21:06:00 +08:00
@a591826944
@coymail

http://swifter.tips/buy
kily
2014-10-14 21:15:28 +08:00
@san3ye 请问除了接口会变动还有遇到过什么坑吗?据说 swift 也是先编译成 obj-c 再运行的。感觉起来还是挺方便的。
WildCat
2014-10-14 21:23:01 +08:00
@kily 根本不是编译成OC,独立的运行时。
接口变动会增加成本 本身就是个很大的坑
onevcat
2014-10-14 21:27:31 +08:00
挺不稳定的...用 Swift 1.1 写了个 app 玩,结果现在还不能用 Xcode 6.1 GM 发布。想开个分支改成 Swift 1.0 的,发现太麻烦..于是等过两天 Xcode 6.1 正式版出来再说吧-。-

自己的小项目用的话不错,如果是要和别人合作或者是比较大的项目的话最好先缓缓..
kily
2014-10-14 21:34:53 +08:00
@WildCat 哦,我又搜了下,确实是编译成 bit-code ,但是和 OC 是相同的 runtime。

http://stackoverflow.com/questions/24052386/does-swift-compile-to-native-code

看来最大的问题还是接口不稳定,多谢。
onevcat
2014-10-14 21:47:23 +08:00
@kily 所谓“相同的运行时”更多地也只是 Apple 为了说明 Swift 可以兼容 objc runtime..其实里面不太一样。当前来说 Swift 的 runtime 是 bundle 进 app 里的,整体是在 objc 的上层 (如果你用到 objc 的特性的话)
hustlzp
2014-10-14 23:09:18 +08:00
我的感觉是先学着Swift,等到稳定了再写App。
pH
2014-10-15 08:27:56 +08:00
真是有点坑爹,就在想万一苹果萎了。这语言,就几乎白学了
PrideChung
2014-10-15 09:48:02 +08:00
对我来说最大的坑是Xcode居然还不支持Swift的重构。反正我下定决定用Swift了,有什么问题大不了切回objc。
jseanj
2014-10-15 10:22:46 +08:00
@WildCat 买了好几本Swift的书,但是语言本身带来的问题确实是大问题
jseanj
2014-10-15 10:23:52 +08:00
@PrideChung 这个我也发现了
WildCat
2014-10-15 10:38:59 +08:00
@jseanj
好几本?我真不知道当下有什么书(除了喵大的)值得买。但是你如果说你买的是 Swift开发指南 Swift权威指南,我只能呵呵了。
jseanj
2014-10-15 11:26:05 +08:00
@WildCat 买了喵神的和objc的,当然不是国内的某人了,呵呵

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/138881

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX