初學者學ios編程的過程中,如何處理ios、xcode的版本差異?

現在很多中文的書基本都才出到ios6.0,英文版的也許能跟得上7.0、8.0,但教程也不統一完整,對於初入學來說,很難用舊版本的教程、鬆散不一的教程來進行新版本的學習。如果看官方文檔,又太雜太多內容了。


初學者你就別管了,一切按照最新的來。


啊啊, 這個問題深有感觸啊。當時初學正值iOS5剛出一會推ARC和Storyboard還有Block,買了好多書還是MRC和Xib,對著XCode4默認開著ARC的IDE敲著書上的MRC的Demo,怎麼就是跑不了...

現在國內大部分iOS技術書籍應該是已經更新到iOS7了,亞馬遜也有少數國內作者著的iOS8和Swift技術書籍,往年總是感覺國內iOS技術書籍相對於國外總是落後一個大版本,今年明顯感覺到國內iOS技術書籍更新速度快了好多。

對於初學者來說,無論是語言學習(Swift、Objective-C)還是SDK學習,XCode版本固然是最新的好像沒什麼爭議,可能在特別特別初學的一段時間感覺書上的內容或者Demo敲上去跑不了很困惑無法理解也是正常的,這個時候其實Google一下一般都能解決的,實在不行就先放一放,往往是因為知識框架沒有建立可能某個概念需要另一個概念的基礎而另一個概念還沒有學。可能題主的提問也是遇到這樣的情景了吧,其實這些都不是問題的。適應一個月會好很多。

不過感覺現在好多了,個人感覺從iOS6到iOS8對於初學者來說是很好的保持一致性的,沒有像iOS4到iOS5那樣從語言特性上SDK上有翻天覆地的變化。所以題主其實不用過於擔心目前舊版本鬆散不一的教程的不一致性,就我個人來看無論是以iOS6或者7落後一代的版本來學習至少在基本語言、基本SDK控制項呀布局呀之類的地方還是相當一致的。所以初學是從中文書籍的iOS7開始還是挑一本英文iOS8都是可行的。

對於初學者知識框架沒建立可能出現不一致困惑無非是什麼是ARC啥是MRC、什麼是Storyboard什麼是Xib什麼是代碼布局、怎麼有些SDK的API被deprecated了、(XCode或IB的這個功能怎麼在書上沒有、我的這本書沒提到Block,API里的Block是什麼玩意)括弧里的是我很久以前遇到的困惑當然現在肯定不會有這樣的不一致了~其實都不是什麼問題,適應一個月書看一半有一個體系就差不多了~


Xcode用最新的就可以了。至於ios版本建議去看7的cookbook,畢竟按照友盟的活躍用戶統計來看,7的佔有比例現在占絕大多數。對於8 Sdk中新的api,先放心,7的都還可以在8上用,哪怕是8已經廢棄了UIAlertview和UIActionSheet,用了UIAlertController,但還是可以用原來的。

不要去擔心有很多新的東西,關注一些大牛的博客,他們會帶你慢慢走進新的SDK,例如Matt,AFNetworking的作者。

確定了從哪裡學後,多看開源代碼,提升會很快。


請從iOS8開始,盡量學習新特性!

我就是iOS7出的時候在做iOS5,iOS8出的時候遷iOS7。( ????? ) 一直沒跟上時代。


iOS上架有SDK版本的要求,你要盡量追新的。

儘管SDK和語言特性是兩回事,但一整套語言環境下來還是有影響的(XCode一骨碌在AppStore裡面順手更新了)。不給上架就沒多少地方用了。

C語言你不用C++11完全沒人管。Java用高的反而什麼二次開發調用不起來。

拿了舊教材也要對著歷史更改看。在變化裡面其實也學到很多思想的,不足取的何須改?


xcode差異比較大的是用interface builder來拼界面的時候。

xcode3456一版變一個樣子,用新版的xcode加舊版的教材根本就學不下去。

所以建議你在蘋果官網上找到與教材對應版本的xcode來學習。

但是如果你是學著用代碼直接寫界面的話,iOS和xcode的版本差異並不像你想像的那麼大,大概只有以下幾個地方:

1:iOS的API會有不同,某些舊的API在新的iOS上面是不建議使用的,這個在蘋果的官方文檔上面會有體現,在編譯的時候也會有相應的警告信息出現,注意一下即可。

2:對界面某些元素的處理方式會有不同,比如6到7,iOS的界面從非平面化到了平面化,各種控制項的大小和外觀發生了變化,對Status bar、Navigation bar和Tool bar的處理上也會有細微的變化,書上有些代碼在iOS 6及以下的系統中可以正常使用,但是在iOS 7以上的系統中就達不到以前的效果了,這些需要你自己在網上尋找答案。

3:舊版的iOS是不支持ARC(自動引用計數)的,只支持手動引用計數,到了xcode比較新的版本(應該是從6開始),更是自動在新建的工程中啟用了ARC,所以如果你是用手動引用計數的,那麼在新建工程的時候需要另外設置一下。

總之:

如果是用Interface builder,請找一個和書上一樣的xcode版本。

如果是直接代碼寫界面,請找最新的xcode版本,並注意蘋果官方文檔的API適用版本。


打打基礎吧,叫你用最新SDK 的才是坑你:你會發現媽的原來有這麼多新API 低版本不能用,坑爹呢這是


最新的就可以了 沒什麼包袱 #我們還兼容5.0 哭昏在廁所。。。。#


像我這種菜鳥也總糾結這種問題,但是後來發現學哪個不重要,重要的是現在立刻開始學並且堅持學下來。如果你英語還過得去的話照著官方文檔趕緊開干吧


Objective:C程序設計(第六版)

各大網站有售,買且僅買一本。


推薦閱讀:

函數式編程用來處理圖形有哪些優劣?
前端程序員需不需要學linux,vim?
makefile 和程序源文件中的 #include 宏到底什麼關係?
如何將人工智慧技術與有機化學合成結合?人工智慧將對有機化學發展產生怎樣的衝擊?
Python 編程,應該養成哪些好的習慣?

TAG:iOS | 編程 | iOS開發 |