子曰:“溫故而知新璧眠,可以為師矣∩┧冢”
去年10月份就買了這本書娇未,一直等到這兩天才看完,不得不鄙視一下自己的執(zhí)行力星虹。為了學(xué)習(xí)iOS應(yīng)用的開發(fā)零抬,我在買這本書之前買過一本國人寫的《UIKit 詳解》,那本書主要是列舉了一下UIKit庫中常用的一些類的API和用法宽涌,當(dāng)字典查還勉強過得去平夜,但還遠(yuǎn)遠(yuǎn)算不上一本合格的iOS開發(fā)教程。后來覺得自己水平還需要再提高提高卸亮,于是就上豆瓣找到了這本評分高達9.2分的《iOS編程(第4版)》忽妒。
總的來講,這本書以動手實踐為核心思想,通過幾個實例項目將不同的理論知識串聯(lián)起來講解锰扶,作者提出了“邊做邊學(xué)献酗,概念與代碼并重”的教學(xué)理念,所以對于讀者來說坷牛,動手才是學(xué)習(xí)的開始罕偎,看得見的成果也會激發(fā)學(xué)習(xí)者的興趣。
這本書設(shè)計的知識面廣京闰,涵蓋了iOS開發(fā)的方方面面颜及,包括Objective-C基礎(chǔ)語法知識,AppKit庫蹂楣,常見的Cocoa設(shè)計模式俏站,XCode技巧,Instruments等痊土,對于iOS開發(fā)初學(xué)者來說已經(jīng)足夠了肄扎,但是要想更加深入的了解各個知識模塊,就還得靠自己從其他途徑去挖掘了赁酝。平心而論犯祠,這本書配得上9.2分。
前言
1.優(yōu)秀的iOS程序員的三要素:
- 熟練掌握Objective-C語言(推薦閱讀《Objective-C編程》酌呆、《Effective Objective-C 2.0》衡载、《Objective-C高級編程 : iOS與OS X多線程和內(nèi)存管理》)
- 熟練掌握 Cocoa 的常用技術(shù):包括內(nèi)存管理、委托機制(delegation)隙袁、固化機制(archiving)痰娱,以及如何正確使用視圖控制器(view controller)
- 熟練掌握系統(tǒng)框架(framework):能夠自己通過閱讀并理解Apple的參考文檔來學(xué)習(xí)iOS SDK中的一些類和方法。
iOS開發(fā)究竟要學(xué)些什么呢菩收,這里借用一張iOS學(xué)習(xí)路線圖(感謝原作者梨睁,不過很抱歉忘了出處了):
2.作者提出的一些教學(xué)理念很值得我們學(xué)習(xí):
- 跟其他任何領(lǐng)域的學(xué)習(xí)一樣,有些知識是學(xué)習(xí)iOS編程必須要知道的坛梁,而且要非常了解而姐。
- 學(xué)習(xí)能立即派上用處的知識,效果最佳划咐。
- 理論與實踐并重時,效果最佳钧萍。
- 實際操作很重要褐缠,建議先輸入代碼,再理解含義风瘦,“找出錯誤并修正代碼”是學(xué)習(xí)編程的好辦法队魏,學(xué)習(xí)者通過調(diào)試可以更加徹底地理解代碼。
- 學(xué)習(xí)新東西要有耐心,要有“敗不餒”的精神胡桨,“書讀百遍官帘,其義自現(xiàn)”。
- 學(xué)習(xí)時最好制定一個合理的目標(biāo)昧谊,每天在某一固定時間段里找一個安靜的地方集中精力學(xué)習(xí)刽虹,最好與外界切斷聯(lián)系,如微信等呢诬。
- 保證足夠的睡眠涌哲。
- 找個好“老師”,如果可以的話尚镰。
其實學(xué)習(xí)編程和學(xué)習(xí)寫作的訣竅是一樣的阀圾,總結(jié)起來就是“三多”——多寫(親自動手練習(xí)才能有所體會),多讀(看看別人是怎么寫的)狗唉,多想(學(xué)而不思則罔)初烘。
第一章 第一個簡單的iOS應(yīng)用
這一章主要介紹了
要點:
- 項目導(dǎo)航面板中的組只用來整理文件,與文件系統(tǒng)無關(guān)分俯。也就是說圖01中我們所看到的黃色的文件夾肾筐,不一定對應(yīng)finder中的文件目錄。另外需要注意的是澳迫,在添加新文件時局齿,我們一般選擇create groups,而不是Create folder references橄登,如圖02所示抓歼。
擴展閱讀:
-
添加文件到工程中時的選項:
http://blog.csdn.net/yqmfly/article/details/45718157 -
項目工程中的folder references和groups:
http://www.reibang.com/p/488c56b4feb6 -
Explanation of Xcode settings for folders added to project:
http://stackoverflow.com/questions/8851144/explanation-of-xcode-settings-for-folders-added-to-project
2.在新建文件時確保選中了Target中的勾選框,選中后拢锹,XCode在構(gòu)建項目時才會一起編譯新加入的文件谣妻,如圖03所示。
擴展閱讀:
-
官方文檔Xcode Target:
https://developer.apple.com/library/prerelease/ios/featuredarticles/XcodeConcepts/Concept-Targets.html#//apple_ref/doc/uid/TP40009328-CH4-SW1 -
Xcode中的 workspace, project, target, scheme:
http://www.reibang.com/p/1308a199f168 -
XCode: Target Settings和Project Settings的區(qū)別:
http://blog.csdn.net/a351945755/article/details/8079276 -
XCode工程中 Project 和 Targets區(qū)別:
http://blog.csdn.net/zhaozy55555/article/details/8557175 -
ios開發(fā)時卒稳,在Xcode中添加多個targets進行版本控制:
http://blog.csdn.net/ysysbaobei/article/details/10951991 -
猿題庫iOS客戶端的技術(shù)細(xì)節(jié)(一):使用多target來構(gòu)建大量相似App:
http://blog.devtang.com/2013/10/17/the-tech-detail-of-ape-client-1/ -
Xcode基本介紹:
http://blog.csdn.net/phunxm/article/details/17044337
3.MVC(Model-View-Controller)設(shè)計模式是iOS開發(fā)中頻繁使用的一種設(shè)計模式蹋半。其含義是,應(yīng)用創(chuàng)建的任何一個對象充坑,其類型必定是模型對象减江、視圖對象或控制器對象三種類型中的一種。
- 視圖對象(View):用來構(gòu)建用戶界面捻爷,展示內(nèi)容辈灼。
- 模型對象(Model):負(fù)責(zé)存儲數(shù)據(jù),與用戶界面無關(guān)也榄。
- 控制器對象(Controller):扮演“管家”角色巡莹,它用于控制視圖對象(View)為用戶呈現(xiàn)的內(nèi)容,以及負(fù)責(zé)確保視圖對象(View)和模型對象(Model)的數(shù)據(jù)一致。
>模型對象(Model)和視圖對象(View)沒有直接產(chǎn)生聯(lián)系降宅,而是由控制器對象(Controller)負(fù)責(zé)彼此間的消息發(fā)送和數(shù)據(jù)傳遞骂远。
擴展閱讀:
-
官方文檔Model-View-Controller:
https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaEncyclopedia/Model-View-Controller/Model-View-Controller.html