V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
neoz
V2EX  ›  iDev

来一个非常非常烂的问题。Swift 还是 oc ?

  •  
  •   neoz ·
    oif · 2014-07-10 21:58:54 +08:00 · 12271 次点击
    这是一个创建于 3795 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这个问题本来是不打算问的,因为一问这种问题。大多数得到的就是,只有合适自己的语言之类的回复。或者说片面的分析。
    角度是 个人开发者
    首先说明下我个人的看法。
    目前很多demo、教程还是只有oc,特别是cocoa部分。
    虽然目前swift的教程不断涌现,但是感觉很多问题上找不到已有的解决方案。
    oc的话教程什么的都很多,体系听完整的。
    但是可能将来swift将代替oc

    语言风格的话,我个人觉得swift比较类似c++的感觉。oc有点乱。
    学过c++。
    现在不知道应该学哪个,纠结着。
    37 条回复    2014-07-29 13:54:27 +08:00
    nekop
        1
    nekop  
       2014-07-10 22:01:29 +08:00
    OC无法逃避。 Swift慢慢学就好。
    ipconfiger
        2
    ipconfiger  
       2014-07-10 22:06:46 +08:00
    如果你现在就要开始上手做项目,2个月后就要交待的话,OC是必须的,如果仅仅是学学而已,还没打算立马就要做个应用上架的话,就直接Swift好了
    neoz
        3
    neoz  
    OP
       2014-07-10 22:08:39 +08:00
    @ipconfiger 此话怎讲。oc的学习复杂度相比swift如何?

    @nekop 后期可能会把cocoa那些的改用swift写吗?
    dorentus
        4
    dorentus  
       2014-07-10 22:13:10 +08:00
    Cocoa API 现在就有 Swift 版,和它们是用什么写的没关系。
    neoz
        5
    neoz  
    OP
       2014-07-10 22:23:35 +08:00
    @dorentus 那建议的话,是选择什么?
    blacktulip
        6
    blacktulip  
       2014-07-10 22:29:28 +08:00
    Swift. 等正式发布你就着看教程井喷吧
    Kai
        7
    Kai  
    MOD
       2014-07-10 22:35:37 +08:00
    可以先从 Swift 开始,边学语言边做练习,然后在秋天的时候为新的系统写程序和提交应用。
    georgetso
        8
    georgetso  
       2014-07-10 22:36:17 +08:00   ❤️ 1
    说句大言不惭的,你有c和oo的基础,oc也就几天的事。swift估计也不超过几天。
    语言很好学,框架不太容易。索性oc和swift的框架似乎是一样的,所以我觉得你应该oc和swift都学,大不了就两个星期嘛。cocoa这个框架无论oc还是swift都要学的,而且花的时间更多。
    neoz
        9
    neoz  
    OP
       2014-07-10 22:55:23 +08:00
    @blacktulip 很可能,现在教程产量远超以前

    @Kai @georgetso 有理,准备先搞定swift,然后搞定cocoa,再搞定oc。
    ipconfiger
        10
    ipconfiger  
       2014-07-10 23:07:52 +08:00
    @neoz OC差不多花一周就能上手开始写应用了啊,那有那么复杂
    tonyluj
        11
    tonyluj  
       2014-07-11 01:07:05 +08:00
    OC 吧
    swift几天就搞定了
    neoz
        12
    neoz  
    OP
       2014-07-11 07:15:13 +08:00 via iPhone
    @Kai
    @georgetso
    @ipconfiger
    @tonyluj
    这么高效的学习,那oc有什么推荐的学习资料。swift呢。
    neoz
        13
    neoz  
    OP
       2014-07-11 07:34:33 +08:00 via iPhone
    @Kai
    @georgetso
    @ipconfiger
    @tonyluj 已有两本oc书,但感觉看完那些不止一个月。不是水果书
    androidBrant
        14
    androidBrant  
       2014-07-11 08:58:20 +08:00
    如果你要找iOS开发的工作的话,我觉得oc是一定要学的,目前的项目应该都是oc的,swift可以延后。

    我学的时候主要是看视频教程的,下了一套,再以2倍或3倍的速度放,很快就上手了,之后才看书巩固。
    mnhkahn
        15
    mnhkahn  
       2014-07-11 09:06:13 +08:00
    都没用过。。。按照经验来谈,swift开发速度肯定比oc快。所以你就是赶着做项目,用swift也没有问题。反倒是你如果想学底层的一些东西,就需要学oc了。
    tonyluj
        16
    tonyluj  
       2014-07-11 09:08:56 +08:00
    swift刚出来没几天,就有各种教程,连培训班都有了。
    atcuan
        17
    atcuan  
       2014-07-11 09:18:09 +08:00
    我表示你swift再牛逼,客户要你适配ios6如何破??在国内混就不要太激动了,不过swift可以自己学着玩儿,对于写个应用来说反正和oc区别也不是很大,上手快得要死。
    ineed123
        18
    ineed123  
       2014-07-11 09:24:38 +08:00
    如果你想靠ios混饭碗的话 一句话:两手都要抓,两手都要硬。如果你只是随便玩玩。随便你。
    chenwl
        19
    chenwl  
       2014-07-11 10:15:51 +08:00
    想认真搞 还是要学oc,oc早晚是你绕不开的坎。。
    ipconfiger
        20
    ipconfiger  
       2014-07-11 10:26:23 +08:00
    @neoz 光说不练假把式,光练不说傻把式,骚年,程序是写出来的不是看书看粗来的。找个小项目直接开干,一边杀怪一边才能升级不是,光看攻略有什么用
    ipconfiger
        21
    ipconfiger  
       2014-07-11 10:27:20 +08:00
    @atcuan 自己写收费App放国外区,不要陪逗比客户玩
    Reset
        22
    Reset  
       2014-07-11 10:32:56 +08:00
    多从 cocoa 入手才是正经的,os还是swift都跳不过这个砍
    不过现在 cocoa 在oc的资料更多
    jsonline
        23
    jsonline  
       2014-07-11 10:39:07 +08:00
    你学 Swift 的过程中需要不断翻阅 OC 的资料!
    zakokun
        24
    zakokun  
       2014-07-11 10:43:31 +08:00   ❤️ 3
    我来恶心你.
    问这种问题的人,一般都是没本事没心气的人.
    动不动就"人家的精力那么宝贵,怎么能浪费去学以后用不上的东西呢.各位来帮人家参考参考嘛",弄到最后我敢保证你一个都没学.
    notedit
        25
    notedit  
       2014-07-11 11:13:13 +08:00
    如果你有其他语言的基础 入门一门语言也就一周的时间 用得着这么纠结么
    rainoxu
        26
    rainoxu  
       2014-07-11 12:27:06 +08:00
    现在用的是oc,所以暂时都以oc为主,但是swift未来有兴趣的时候也可以了解一下。
    jjx
        27
    jjx  
       2014-07-11 13:34:33 +08:00
    swift 逼格没有oc高
    neoz
        28
    neoz  
    OP
       2014-07-11 14:51:18 +08:00
    @androidBrant @ipconfiger 还没想过用iOS开发来找工作,比较想做个人开发者。看视频倒也是,我看书看了几天,也没看出什么东西出来。
    @Reset 犹豫在于说现有资料方面,swift还比较缺乏。
    @notedit 虽说入门时间少,但总是要选择某几个深入研究的。
    WeeTom
        29
    WeeTom  
       2014-07-11 15:48:49 +08:00
    先学OC,学会iOS的应用生命周期,剩下的基本上都是语法,API,没什么可学的。
    kobe1941
        30
    kobe1941  
       2014-07-11 16:58:58 +08:00
    不要听别人说什么Swift很快就搞定之类的,那是忽悠人,很快能搞定一门语言的都是大神好不,大神拿自己的标准来衡量新手,扯淡呢,大神短时间学号一门语言的背后是几年甚至数十年的基础和坚持好么。

    新手别好高骛远,老老实实学OC,掌握的差不多了再去考虑Swift。
    neoz
        31
    neoz  
    OP
       2014-07-11 17:51:12 +08:00
    @WeeTom 好,正准备这么学。有没有什么比较好的学习资料。我看斯坦福的ios7的话,都是英文,似乎有点坑,因为英语没那么好。
    @kobe1941 确实是,还是得练习。oc基础部分该怎么打?看视频的话,看什么的?看电子资料的话,看什么?
    qiukun
        32
    qiukun  
       2014-07-11 18:52:52 +08:00
    @blacktulip =-= 你不是才发现个 bug 吗?就敢推
    blacktulip
        33
    blacktulip  
       2014-07-11 19:29:41 +08:00
    @qiukun 已经修复了啊
    qiukun
        34
    qiukun  
       2014-07-11 19:35:49 +08:00
    @blacktulip 万一有别的 bug 呢,感觉新手要么瞎怀疑到语言、编译环境,要么不敢怀疑语言、编译环境
    blacktulip
        35
    blacktulip  
       2014-07-11 19:53:39 +08:00
    @qiukun Google 啊, 爆栈啊,很容易找到原因啊
    afa
        36
    afa  
       2014-07-12 00:21:30 +08:00
    Swift在1.0之前很多API和语法都不稳定,这回就改了字典和数组的类型简写。

    题外话,觉得Swift好的话,可以先拿scala或rust练练。很多特性和概念都有重叠。
    headwindx
        37
    headwindx  
       2014-07-29 13:54:27 +08:00
    学好 Swift 没那么简单,Swift 虽然简化了很多,但是也增强了很多,灵活性上提高了,驾驭起来反而有一定的复杂度。到今年秋季iOS8上市后,相信 Swift 还会一步步的改进。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2899 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:34 · PVG 11:34 · LAX 19:34 · JFK 22:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.