文章目錄
1,前言
相信iPhone不久就要在國內發布了,和我們在國內可以通過正規渠道買得到的iPod Touch一樣,iPhone也是一個激動人心的產品。iPhone發布的同時,基於iPhone的程式也像雨後春筍一樣在iTunes裡面冒出來。
你將來也許會考慮買一個iPhone,體驗一下蘋果的富有創意的種種應用;你也許會考慮向iTunes的社區的全世界的人們展示一下你非凡的創意,當然也可以通過你的創意得到一些意想不到的收益。
OK,你也許迫不及待的準備開發了。但是先等一下,讓我們回憶一下最初的電影是怎麼拍攝的。這個很重要,因為和iPhone的開發比較類似。
在最初因為器材比較原始,所以拍攝電影需要很高的技術,那個時候的電影的導演基本上是可以熟練操作攝影器材的人。隨著器材的完善,使用也簡單起來。於是器材的使用不是決定一個電影的品質的唯一的因素,取而代之的是故事或者說電影的創意。
iPhone的開發也是這樣。當然從入門到掌握的過程來說任何事情都是開始比較難,隨著掌握的程度的加深,你將會覺得開發iPhone應用程式是一件簡單而且輕鬆的事情,到了那個時候,你的主要的制勝武器就不是開發技術,而是你的創意了。對於你來說,我在這裡寫的東西都是有關“攝影器材”也就是介紹如何使用iPhone的平台來開發應用程式。
iPhone的開發語言是Objective-C。Objective-C是進行iPhone開發的主要語言,掌握了Objective-C的基本文法以及資料結構之後,你需要熟悉一下iPhone的SDK。筆者很難做到在一篇文章裡面把所有的東西都介紹清楚,所以筆者打算分成兩個主題,一個是Objective-C,一個是iPhone開發。
本系列將側重於Objective-C。當然,任何一種開發語言都無法脫離於運行環境,Objective-C也不例外。所以在本系列當中也會穿插的介紹一些SDK裡面的一些特性,主要是資料結構方面,比如說NSString, NSArray等等。看到NSString, NSArray這些名詞,你也許會感到有些茫然,不過沒有關係,隨著本系列的深入介紹,你會發現你非常喜歡這些東西。
1.1,誰會考慮閱讀本系列
如果你對iPhone感興趣,如果你考慮向全世界的人們展示你的創意,如果你有一顆好奇心,如果你打算通過開發iPhone程式謀生,如果你覺得蘋果比Windows酷,如果你認為不懂蘋果的話那麼就有些不時尚的話,那麼可以考慮閱讀本系列。
老手也可以考慮花一點時間閱讀一下,可以發文章和筆者交流切磋。筆者發布的文章屬於公益寫作,旨在為大家介紹iPhone開發的一些基礎知識,如果可以提供寶貴意見,筆者將不勝感激。
1.2,需要準備的東西
工欲善其事,必先利其器。 《論語·魏靈公》
第一,你需要一台蘋果電腦。當然這個不是必需的條件,如果你可以在你的Intel PC上成功安裝MAC OS的話,那麼請忽略這一條。
第二,你需要去蘋果網站上下載開發工具XCODE。注意,XCODE是完全免費的,但是需要你去註冊一個帳號才可以下載。由於XCODE不時的在更新,所以如果你的MAC OS不支援你下載的XCODE的話,那麼你也許需要考慮買一個最新的MAC OS。
第三,你需要至少有C,C++,或者JAVA的背景知識。不過如果你沒有,那麼也不用擔心,相信閱讀了筆者的文章之後應該也可以掌握。
最後需要的東西就不是必須的了,當然有的話會更好一些。這些東西是,開發人員賬戶(需要付費),iPhone手機(在部分國家可以免費獲得,但是中國會怎麼樣,筆者不是很清楚) ,iPod Touch(需要購買)。
1.3 ,關於筆者的寫作
筆者利用業餘時間進行寫作,所以無法對文章發布的時間表做出任何保證,還請各位讀者諒解。但是筆者會盡最大努力在短時間之內完成寫作。
由於筆者經驗才識所限,在本教程當中難免會遇到遺漏,錯誤甚至荒謬的地方,所以還請同學們批評指正。
對於已經完成的章節,基於一些條件的改變或者勘誤,或者大家提出的意見,筆者也會考慮做出適當的修改。
在每一個章節都會有代碼的範例,筆者注重闡述基本概念所以代碼難免會有不完整或者錯誤的地方,同學們可以任意的在自己的代碼中使用筆者所寫的代碼,但是筆者不承擔由於代碼錯誤給同學們帶來的損失。同學們在閱讀本教程的時候,可以直接下載範例代碼運行,但是為了熟悉編碼的環境以及代碼的規範,筆者強烈建議同學們按照教程自己親自輸入代碼。
Objective-C的概念比較多,而且很多概念都相互交叉。比如說講解概念A的時候,需要概念B的知識,講解概念B的時候需要概念C的知識,講解概念C的時候需要概念A。這樣就給本教程的寫作帶來了一定的麻煩,很明顯筆者無法在某一個章節裡面把所有的概念都講述清楚,所以每一章都有側重點,大家在閱讀的時候需要抓住每一章的側重點,忽略一些和本章內容無關的新的概念和知識。
1.4,本系列的結構
第1章,也就是本章
第2章, 從Hello,World!開始
第3章, 類的聲明和定義
第4章,繼承
第5章,Class類型,選取器Selector以及函數指標
第6章,NSObject的奧秘
第7章,對象的初始化以及執行個體變數的範圍
第8章,類方法以及私人方法
第9章,記憶體管理
第10章,到目前為止出現的記憶體流失事件
第11章,字串,數組以及字典
第12章,屬性
第13章,類目(Categories)
第14章,協議(Protocols)
第15章,Delegate
第16章,線程
第17章,檔案系統
第18章,資料數列化以及儲存使用者資料
第19章,網路編程
第20章,XML解析
上面帶串連的章節是已經完成的章節,否則就是還沒有發布的。發布過的講座的內容可能會更新,甚至本系列講座的結構會發生改變。