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
rcmerci
V2EX  ›  iDev

开始学 ios 开发

  •  
  •   rcmerci ·
    RCmerci · 2014-12-01 16:35:28 +08:00 · 5856 次点击
    这是一个创建于 3405 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不会oc
    有什么建议吗?是直接上swift吗
    另外我不打算买书看, 直接看网上的资料。
    29 条回复    2014-12-02 17:26:25 +08:00
    datou552211
        1
    datou552211  
       2014-12-01 16:49:18 +08:00
    同求告知
    neargle
        2
    neargle  
       2014-12-01 16:52:36 +08:00 via Android
    有苹果电脑吗?我觉得ios的开始都是有一个苹果的电脑和系统←_←
    GDGshanghai
        3
    GDGshanghai  
       2014-12-01 16:58:49 +08:00
    @datou552211
    http://www.v2ex.com/t/149588
    可以报名参加 iOSCon,跟着大牛学 Swift
    linKnowEasy
        4
    linKnowEasy  
       2014-12-01 17:20:05 +08:00
    网易公开课 ios7
    知乎 http://zhuanlan.zhihu.com/kidscoding 入门
    boom11235
        5
    boom11235  
       2014-12-01 17:32:10 +08:00
    我也想学,想直接上swift了...
    zapper
        6
    zapper  
       2014-12-01 17:35:30 +08:00   ❤️ 1
    至少现在,oc的第三方库要比Swift的多
    不过oc和Swift可以混编,还是了解一下oc的好
    ipconfiger
        7
    ipconfiger  
       2014-12-01 17:42:15 +08:00
    CoreData在swift下有坑,昨晚上被坑到1点,幸亏爬出来了
    favormm
        8
    favormm  
       2014-12-01 17:45:06 +08:00
    教学费,我带你。 ^V^
    wezzard
        9
    wezzard  
       2014-12-01 17:52:42 +08:00   ❤️ 2
    如果你不瞭解 C,那麼你還是學一下 Objective-C,因爲網上很多例子都是 Objective-C的,你如果深入瞭解 C 的話,那麼看懂 Objective-C 代碼並且理解到 Swift 和 Objective-C 運行時的不同應該很容易。

    另外,Swift 和 Objective-C 的特性互不完全覆蓋,比如說 Swift 完全遵從 Liskov Substitution Principle,致使你要 override superclass 的 property 類型爲其原先類型的繼承者是不行的。又比如說在 Swift 中使用泛型會導致從 Objective-C 框架中派生出來的類型完全 Swift 化,無法再使用 NSCoding 來進行 persistent。又比如說 Swift 的對象創建語法導致非常不好寫 class cluster,我已經用 compositor 模式替代了所有的 class cluster。

    如果你想精通 iOS 開發,Objective-C 是不可繞過的,因爲蘋果的根在那。而以 Swift 運行時的特性,蘋果完全把所有框架遷移到原生的 Swift 上是不可能的。
    wezzard
        10
    wezzard  
       2014-12-01 17:56:46 +08:00
    @ipconfiger 啥坑?
    guitarkitten
        11
    guitarkitten  
       2014-12-01 17:58:56 +08:00
    raywenderlich不谢。
    amon
        12
    amon  
       2014-12-01 18:08:35 +08:00   ❤️ 1
    建议:书中有很多网上没有的知识。
    ipconfiger
        13
    ipconfiger  
       2014-12-01 18:08:38 +08:00
    @wezzard models创建了subclass用oc的方式要报错哦
    4everLoveU
        14
    4everLoveU  
       2014-12-01 18:26:18 +08:00
    感谢楼上的分享
    chmlai
        15
    chmlai  
       2014-12-01 18:30:42 +08:00   ❤️ 1
    看你学来干嘛, 学来玩可以从 swift 开始, 学来招工作必须从 objc 开始.
    jox
        16
    jox  
       2014-12-01 19:17:35 +08:00   ❤️ 1
    这是一个垃圾问题,但是现在很无聊。

    我的建议是swift也好,obj c也好,都无所谓,能写出好的应用就是胜利,另外既不会obj c也不会swift但是倾向学习swift的新手们是不是大多数之前就没有多少编程经验呢?

    之前有过其他平台编程经验的朋友也会更倾向于学习swift来学习iOS开发吗?如果是,理由是什么呢?如果只是为了用来开发应用的话,学习obj c用不了多少时间啊,我只花了不到半天的时间看了下苹果的这个文档:

    https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html

    基本上就没有再看过关于obj c的资料了,在学习iOS开发之前我学习过C,JavaScript,python,lua,emacs lisp, scheme 还有个我一下想不起来名字了,只用过前三个做过实际的项目,其他的都是因为需要读某些源代码以修改软件的配置或者看书的时候才了解了一下,达到目的之后就没再接触过了,其中就C花的时间最长,花了好几个月,因为是第一个学的编程语言,而且还得学习硬件相关的知识,我反正觉得如果只是开发普通的web或者移动应用的话,我已经不需要花很长时间来学习某个编程语言了,觉得都差不多
    yxzblue
        17
    yxzblue  
       2014-12-01 19:22:13 +08:00
    我想知道PO主从啥语言想转去iOS开发的...
    rcmerci
        18
    rcmerci  
    OP
       2014-12-01 19:37:50 +08:00
    @yxzblue 很多语言都会一些, 个人猜测ios开发最要紧的应该不是语言把。
    jox
        19
    jox  
       2014-12-01 19:50:38 +08:00   ❤️ 1
    @rcmerci 是的,我觉得理解iOS的各个组件是如何工作的,开发者可以怎么灵活地应用苹果为开发者提供的这些组件,这些是更重要的,但是这却是不容易的,要阅读大量的资料,并且需要不断地实践和从错误中吸取教训。

    如果非要选择编程语言的话,假如现在的我要学习iOS开发但是既不会obj c也不会swift,我会选择obj c,因为我是机会主义者,新出来的编程语言都要观察一段时间才会好用甚至能用,现在我只用被证明可以经得起考验的编程语言来构建我的应用。另外obj c表达力足够,该有的都有,并没有太严重的缺点,完整的高级抽象类型,第三方的代码库,一些好用的设计模式的支持,同时兼容C可以直接调用底层的C接口,哦,别忘了还有可爱的lambda,可能是我接触时间还不够长,我不明白apple开发swift的动机是什么,难道是因为obj c太啰嗦了?
    wezzard
        20
    wezzard  
       2014-12-01 20:15:52 +08:00   ❤️ 1
    @jox write less, do more
    IvanLing
        21
    IvanLing  
       2014-12-01 21:34:33 +08:00   ❤️ 1
    raywendrlich 的Apprentice 的4个app完成了,基本可以算是入门了
    Edward
        22
    Edward  
       2014-12-01 22:27:31 +08:00 via iPhone   ❤️ 1
    曾经有一个完全不会弹吉他的哥们问我,我想学卡农,其他的都不用,得花多长时间?我说我也不知道,既然想学就跟着练吧。三个月过去之后,他放弃了。

    不知怎的,楼主的问题让我直接联想到这些。其实按部就班来,我当时学吉他三个月的时候,弹唱个花儿乐队的歌都没问题了,古典里爱的罗曼史基本上也能弹下来。但像我哥们那样学,也就这样了。

    这是题外话。我特别想知道楼主的初衷。楼主想越过oc,越过编程,可以,有很多应用实现起来特别简单,有时候只要英文好一点或者悟性高一点就能搞出个 APP 来,只是玩玩的话,无所谓,看看说明书和别人的源码就行了。要是想以后从事这方面的工作呢,还是一步一步学过来吧,你说到不看书,我有点孤陋寡闻,我认识的牛人都是博览群书的,没听说过谁光靠读网上的东西就牛起来了的。学东西,切忌浮漂,眼高手低,楼主想找个捷径,这会很不靠谱。

    最后祝楼主好运。
    Yien
        23
    Yien  
       2014-12-01 23:24:11 +08:00
    同问
    roamlog
        24
    roamlog  
       2014-12-01 23:26:26 +08:00   ❤️ 1
    此类主题真是开了又开啊,如果我再扔我那篇 如何从 0 开始学 iOS 开发(漫步版) - 漫步 - http://readful.com/post/101914515826/0-ios

    会不会出事,囧。。。
    rcmerci
        25
    rcmerci  
    OP
       2014-12-01 23:29:24 +08:00
    @Edward 谢谢你的回答,可能你理解错了我的意思。。。
    我没说要越过oc, 只是来v2问问是从oc开始还是swift
    我说的“不打算买书看网上资料”,是因为ios方面的书一般比较滞后, 而是来问问直接看官方的文档是否可行(貌似我的问题说的太简要了,容易误会)。我还真没有想找捷径的意思,嘿嘿。
    另外是想改改自己买书如山倒的恶习。。。。
    rcmerci
        26
    rcmerci  
    OP
       2014-12-01 23:29:43 +08:00
    @roamlog 哈哈不会
    walkingway
        27
    walkingway  
       2014-12-01 23:33:57 +08:00
    看官方各种guide就够了,raywenderlich挑些感兴趣的专题看,基本就能撸App了
    USCONAN
        28
    USCONAN  
       2014-12-02 00:33:50 +08:00   ❤️ 2
    零基礎的話我個人建議可以從 Swift 入手,可以減少一些學習過程中的挫敗感,提升信心。
    材料的話就蘋果官方的那本書算是比較完美的,iBooks 商店免費下載,可以結合 Github 上中文譯本一起看。要不了多長時間,入門之後就可以通過做一些小東西一邊啃 Library 一遍學 OC 了。
    因為編程語言的思維共同性,這個時候學 OC 會比零基礎開始學 OC 更容易上手。

    其實 iOS 開發整個的核心其實就是那些 Library,你可以把他們看作是積木,而語言反倒不是最重要的,可以把他們看作是堆積木要用到工具。
    所以基本上就是把 https://developer.apple.com/library/ios/navigation 啃透。
    可以靈活自如的從 Xcode 裡面那幾百兆的 Library 快速找出某個東西來解決問題。就算「畢業」了。

    「畢業」意味著你獲得了構建一個世界所需要的所有工具和積木。

    至於能搭出一個什麼樣的世界,就取決於你一生的修為何如了。

    所謂
    學海無邊,書囊無底。
    學無止境,修為無頂。
    yunshansimon
        29
    yunshansimon  
       2014-12-02 17:26:25 +08:00   ❤️ 1
    C或者Objc是基础,是普通话,swift是网络流行语。没有纯正的中文基础,你能分辨wo cao的十种含义?另外,不建议初学者现在学swift,因为swift的编辑器xcode还有一堆的bug没解决,出了问题它只能把你往沟里带。建议一定要能用Objc做个图形版的计算器,再开始学swift。@USCONAN推荐的不错,严重推荐苹果官方免费下载版<The Swift Programming Language>深入浅出。有了问题主要在两个方面解决:勤快的去查苹果官方文档(肯定有解答,但不知道会放在哪里,找答案也把其他知识顺带着学了),懒的直接Stack Overflow。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4344 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:31 · PVG 13:31 · LAX 22:31 · JFK 01:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.