现在开始学习 iOS 开发,直接学 Swift 可以 hold 住吗 - V2EX
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
parkcg
V2EX    iDev

现在开始学习 iOS 开发,直接学 Swift 可以 hold 住吗

  •  1
     
  •   parkcg
    skpark1987 2018-02-02 09:27:18 +08:00 16134 次点击
    这是一个创建于 2887 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,我想利用工作外的时间学习 iOS 开发,需要从 Obj-C 开始呢还是 Swift 好一些。 想做类似于 Google Sheet,思维脑图,直接学习 Swift 在不懂 Obj-C 的情况下开发出来吗。

    48 条回复    2019-01-22 20:03:05 +08:00
    gssdromen
        1
    gssdromen  
       2018-02-02 09:32:37 +08:00   1
    基本 OK 了
    ppddtt
        2
    ppddtt  
       2018-02-02 09:34:52 +08:00
    49 年入国军
    parkcg
        3
    parkcg  
    OP
       2018-02-02 09:38:57 +08:00
    @ppddtt 我只活在当下。。。 我本职工作也不是做 iOS 的,未来怎么样不是很关心。
    kingcos
        4
    kingcos  
       2018-02-02 09:39:13 +08:00 via iPhone
    学吧,不过再过几个月 5.0 又该出了,还要重新学
    goodan
        5
    goodan  
       2018-02-02 09:39:34 +08:00
    @ppddtt 这个比喻是指,现在 Swift 不合时宜吗?
    xomix
        6
    xomix  
       2018-02-02 09:40:48 +08:00   1
    @goodan Swift 这个东西升级变化太大,基础语法变化都很大,不过你开始学没什么问题。
    xiubin
        7
    xiubin  
       2018-02-02 09:41:18 +08:00 via iPhone   1
    可以的,objc 也就用的人多,不打算找 iOS 开发的工作,直接学 swift 比 objc 好太多了
    jlkm2010
        8
    jlkm2010  
       2018-02-02 09:43:35 +08:00   1
    直接学 swift 吧,面向未来,现在去学 oc 是 49 年入国军
    swift 能 hold 住项目了,我们公司用的就是 swift
    hebwjb
        9
    hebwjb  
       2018-02-02 09:46:04 +08:00   2
    没问题,找 raywenderlich 的教程学,全是 swift 的
    我 17 年开始学,已经学完了《 iOS Apprentice 》《 Core Data by Tutorials 》,目前正在学《 iOS Animations by Tutorials 》,打算学完这本书后自己动手开发个小 APP
    fffang
        10
    fffang  
       2018-02-02 10:01:22 +08:00
    不找工作的话完全没必要学 oc 啊
    coldmn3
        11
    coldmn3  
       2018-02-02 10:08:14 +08:00
    见过不少开倒车回到 oc 的了,目前来看 swift 是失败的。
    lkj007
        12
    lkj007  
       2018-02-02 10:12:11 +08:00
    学什么 iOS,来学 Java 啊
    parkcg
        13
    parkcg  
    OP
       2018-02-02 10:13:07 +08:00
    @lkj007 爱好学 Java 的人没有吧。。。 语言那么古板
    fghjghf
        14
    fghjghf  
       2018-02-02 10:13:49 +08:00   1
    Swift 这种脚本式的编译语言,语法简单的不行,直接用 swift 吧。OC 迟早被苹果淘汰,现在很多第三方库都有 swift 版。

    反正你也不是用 IOS 这项技能去求职,管他行情有多渣,不存在进坑的说法,也不用学 OC 了。
    parkcg
        15
    parkcg  
    OP
       2018-02-02 10:14:27 +08:00
    @all 感谢各位,我打算学习 Swift 了,再用 Kotlin 开发 Android。两者语法类似 应该省不少时间。
    FreshOldMan
        16
    FreshOldMan  
       2018-02-02 10:27:49 +08:00
    可以的,Swift 现在到 4.0 版本了,趋于稳定,基本不会有什么大变化了
    acros
        17
    acros  
       2018-02-02 10:30:06 +08:00
    都说 obj-c 是 49 年的国军,实际上再过 5 年,招 ios 还是要回 obj-c
    ai277014717
        18
    ai277014717  
       2018-02-02 10:30:09 +08:00
    swift 很优秀,值得学习。
    pipasese
        19
    pipasese  
       2018-02-02 10:33:07 +08:00   1
    自己开发小项目的话建议用 Swift,开发起来还是很舒服的。
    大项目下 swift 的开发体验真是想死,代码不全呆滞,编译慢。
    Alexander321
        20
    Alexander321  
       2018-02-02 10:50:24 +08:00 via iPhone
    果断 swift。
    soli
        21
    soli  
       2018-02-02 10:50:39 +08:00
    我只是想说 XCode 每天死 7、8 次,你们能忍?
    superleexpert
        22
    superleexpert  
       2018-02-02 11:02:45 +08:00
    不管怎样 目前国内还是 OC 多
    nicevar
        23
    nicevar  
       2018-02-02 11:13:27 +08:00
    直接学 swfit 也没什么问题,会 oc 当然更好,要不然用个 oc 的库遇到问题只能干瞪眼。。。招到只会 swift 的经常遇到这样的情况
    jasonchen168
        24
    jasonchen168  
       2018-02-02 11:22:27 +08:00
    iOS 都没人要了。。还学 iOS。不如搞搞 Python
    w3sy
        25
    w3sy  
       2018-02-02 11:34:15 +08:00
    随便学啊,学个语言那么费劲的吗?
    sunjws
        26
    sunjws  
       2018-02-02 15:35:31 +08:0
    LeoNG
        27
    LeoNG  
       2018-02-02 15:36:22 +08:00   1
    如果是想入 iOS 开发的坑,两个都要学。如果是自己做个小项目玩玩,必须是 Swift。

    OC 是工作需要,Swfit 是加分项。别听什么 OC 早晚要淘汰,49 年入国军,那是以后的事,现在公司项目据我所知大多数依然是 OC,可能一些公司新项目会用 Swift。OC 是现在,Swift 是趋势,国军依然活的好好的。
    deyu
        28
    deyu  
       2018-02-02 16:02:35 +08:00
    两个都要学习
    MountainRain
        29
    MountainRain  
       2018-02-02 16:11:23 +08:00
    多研究算法和设计模式,OC 和 Swfit 基本结构都是一样的,有什么好讨论的,学一样,另一样基本低成本就也学会了
    sunwei0325
        30
    sunwei0325  
       2018-02-02 16:41:26 +08:00
    @parkcg 可以先学 kotlin 搞安卓, 学成了以后, 如果 kotlin native 大规模商用了, 那不就省事了么
    parkcg
        31
    parkcg  
    OP
       2018-02-02 16:42:49 +08:00
    @sunwei0325 我自己不是很喜欢 hybrid,总感觉耍小聪明 最终回到原点,老老实实的学 Native 开发。
    Echoldman
        32
    Echoldman  
       2018-02-02 17:53:09 +08:00
    swift 这玩意,也就三年?都 4.0 了,太不稳定。另外对于 iOS 的系统框架,swift 这个语言的语法糖也是稍微多了点儿,坑肯定多。
    gemini767
        33
    gemini767  
       2018-02-02 18:46:34 +08:00 via Android
    无所谓,反正在你使用的过程中就会慢慢学习 objc
    jesse_luo
        34
    jesse_luo  
       2018-02-02 19:57:25 +08:00
    诚招 iOS 开发,望京大厂
    hhvv23911k
        35
    hhvv23911k  
       2018-02-03 14:19:20 +08:00
    @lkj007 老铁?怎么学的,那么快就转型成功了
    lkj007
        36
    lkj007  
       2018-02-04 10:43:17 +08:00
    @v2410117 自学的呗
    popbones
        37
    popbones  
       2018-02-04 12:21:36 +08:00
    我觉得可以的。先搞着,ObjC 如果真用得到的话自然就会学会的吧?
    veightz
        38
    veightz  
       2018-02-04 15:32:14 +08:00
    我司的 Swift 模块已经全部切回 OC...

    说 Swift 语法简单的..估计没有写过 3 千行以上的 Swift 项目或者是只用过点基本的语法的伙计..。
    veightz
        39
    veightz  
       2018-02-04 15:35:59 +08:00
    如果是为了做 App 而不是学语言,OC 肯定是做好的选择。 选择学 Swift 而不是选择 OC 的话,学习语言的时间会多话两三倍吧.. 不赶时间,觉得多花点处理语言本身奇怪问题不介意的话,玩玩 Swift 也不错。
    kitalphaj
        40
    kitalphaj  
       2018-02-04 18:24:55 +08:00
    Swift 已经是苹果官方推荐语言,这些在开发者官网还有 swift.org 都是可以看到的。另外,Swift 语法相比起 OC 对初学者很友好,特别是加入了 Optional 这种语法特性,使得软件开发更加安全易懂。我从 Swift 推出第二天就开始写,虽然经历过从 Swift 1 - 2, 2 - 3 的痛苦升级,但是去年从 3 - 4 的升级已经趋于稳定,一般 2、3 万行代码量的项目都只需一天左右的升级时间。Swift 5 一旦推出,ABI 也马上会稳定,所以完全不用担心变化。另一方面,Kotlin 的语法和 Swift 非常相似,就连 Swift 比较高级的带数据枚举也通过 Sealed class 得以实现。所以学习 Swift 对以后做 Android 也会有很大帮助。
    parkcg
        41
    parkcg  
    OP
       2018-02-04 21:19:51 +08:00 via iPhone
    @veightz 感谢建议,已经在 ray wenderlich 买了开发书籍,已经把第一个小 app 做完了。不管怎么样先做下去看看,出问题了再说。
    parkcg
        42
    parkcg  
    OP
       2018-02-04 21:23:11 +08:00 via iPhone
    @kitalphaj 是的 我就是看中了 kotlin 和 swift 语法相近,所以想直接使用 swift 开发,obj-c 看着还是太别扭了。我现在后台还使用了.net core,c#和这俩也很像,同时开发三个端,在语法上不会那么容易混淆吧
    jokerjoker
        43
    jokerjoker  
       2018-02-05 13:42:52 +08:00
    @Echoldman 举个不稳定的地方的例子呢
    kives
        44
    kives  
       2018-02-06 12:19:59 +08:00 via iPhone
    @veightz swift 语法就是简单啊,有什么问题?上来就玩泛型纯粹吃饱了撑着,一些关键的特性还没实现。别看 swift 现在都到 4 了,按其他几个新语言的标准,swift 还没到 1 呢。

    Lz 既然是学着玩,那学个啥 oc,直接 swift 没任何问题
    JerseyCafe
        45
    JerseyCafe  
       2018-02-26 14:09:27 +08:00
    @kingcos 除了 5.0 也不需要重新学呀、 只是更新而已。 难倒 OC 每更新一个版本你就要重新学一遍吗
    kingcos
        46
    kingcos  
       2018-02-26 15:37:22 +08:00 via iPhone
    @JerseyCafe 开玩笑的,但 Swift ABI 还没稳定,确实变动比较多,Obj-C 时代没跟上,我记得最后就是 2.0 吧
    ruixingchen
        47
    ruixingchen  
       2018-05-02 21:33:22 +08:00
    现在新项目基本都是纯 swift 了, 我这边就是, 公司的安卓项目正在转 kotlin, iOS 这边是 swift, 隔壁公司也是 swift
    lebus
        48
    lebus  
       2019-01-22 20:03:05 +08:00
    直接 swift
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1139 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 17:41 PVG 01:41 LAX 09:41 JFK 12:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86