IOS開發(fā)流程說明書_第1頁
IOS開發(fā)流程說明書_第2頁
IOS開發(fā)流程說明書_第3頁
IOS開發(fā)流程說明書_第4頁
IOS開發(fā)流程說明書_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、IOS 開發(fā)流程說明書版本:V0.229文檔修訂記錄版本編號或者更改記錄編號*變化狀態(tài)簡要說明(變更內容和變更范圍)日期變更人審批日期審批人V0.1A創(chuàng)建2014/2/11高明月V0.2M添加創(chuàng)建項目流程和基礎代碼說明2014/2/14高明月*變化狀態(tài):A增加,M修改,D刪除,N正式發(fā)布文檔審閱信息序號審閱人角色審閱日期簽字備注目錄1 序言61.1編寫目的61.2術語定義61.3參考資料62 關于IOS62.1 IOS介紹62.2 IOS開發(fā)環(huán)境簡述73 創(chuàng)建項目93.1 新建iOS項目93.2 應用程序目錄結構說明123.3 應用程序初始結構概覽143.4 IOS應用程序的生命周期154 代

2、碼入門(數據類型)164.1 基礎數據類型174.2 OC數據類型174.2.1 NSNumber類和NSInterger174.2.2 NSString類型194.2.3 NSArray類型194.2.4 NSDictionary類型204.2.5 NSDate類型205 OC類的認識(成員變量和方法)205.1 類的聲明215.2 方法的定義246 運行和調試246.1 IOS模擬器256.1.1 選擇設備256.1.2 模擬器自定義設置266.1.3 存儲屏幕快照276.2 程序調試286.3 NSLog291 序言1.1 編寫目的本說明書為IOS開發(fā)流程說明書,制定本說明書的目的是針對

3、IOS開發(fā)技術進行宏觀表述。以便后續(xù)的設計、開發(fā)、測試、驗收等工作順利進行。適用對象:IOS開發(fā)人員項目管理人員產品開發(fā)人員1.2 術語定義(1)真機真機即所謂的iPhone手機或者ipad,是指具有IOS這個操作系統(tǒng)的手機,由蘋果公司進行研制并銷售,用戶可以從appstroe上下載相關應用及游戲。(2)IOS SDKIOS專屬的軟件開發(fā)工具包。(3)XcodeIOS開發(fā)工具。1.3 參考資料暫無。2 關于IOS2.1 IOS介紹蘋果IOS是由蘋果公司開發(fā)的移動操作系統(tǒng)。蘋果公司最早于2007年1月9日的Macworld大會上公布這個系統(tǒng),最初是設計給iPhone使用的,后來陸續(xù)套用到iPod

4、 touch、iPad以及Apple TV等產品上。IOS與蘋果的Mac OS X操作系統(tǒng)一樣,它也是以Darwin為基礎的,因此同樣屬于類Unix的商業(yè)操作系統(tǒng)。原本這個系統(tǒng)名為iPhone OS,直到2010WWDC大會上宣布改名為IOS。最新版本為IOS7.0。更多的資料可以到蘋果開發(fā)網站上獲取:本文主要對以下幾個方面對IOS的開發(fā)入門進行引導說明。如圖2-1所示。圖2-1 IOS開發(fā)入門說明的內容導航圖2.2 IOS開發(fā)環(huán)境簡述最友好,最現(xiàn)實,也是最方便的開發(fā)環(huán)境就是在Mac系統(tǒng)中安裝Xcode進行開發(fā)。原因在于:第一,開發(fā)工具(Xcode)限制。蘋果官方只提供Mac版的Xcode,而

5、Xcode內置了Xcode IDE,性能分析工具,iOS SDK,iOS模擬器和最新的OS X,可以方便迅速的進行代碼編輯以及應用調試,可謂是Mac和iOS開發(fā)工具的不二選擇。第二,代碼提示和自動補全。iOS開發(fā)中用到的類或方法的名稱,為了更具語義化,讓開發(fā)者一目了然,通常會比較長,這往往會讓剛剛接觸iOS開發(fā)的開發(fā)者為了記住這些方法而傷透腦筋。而Xcode擁有優(yōu)于其他編輯器的OC代碼提示和自動補全功能,這將很大程度降低開發(fā)入門的門檻,這決定你開發(fā)iOS應用沒有理由不使用Xcode。因此,使用非蘋果電腦的開發(fā)者們最好安裝Mac OS X的虛擬機,進行開發(fā)學習,否則你不僅會比別人花上多出一倍甚至

6、更多的時間去搭建開發(fā)環(huán)境,而且代碼編寫上也會比使用Xcode開發(fā)的人花上更多的精力。目前Mac OS X系統(tǒng)的最高版本是10.9.1,如下圖所示,Xcode版本可以安裝到最高版本5.0.2.如果是在windows安裝的虛擬機,發(fā)布的懶人版本最高應該是10.8.2。Xcode版本5與4是不能向下兼容的,主要是UI開發(fā)機制的修改,如果系統(tǒng)版本不統(tǒng)一建議,Xcode版本安裝至4.6.1.暫時可以支持到iOS6.0 SDK的版本開發(fā),如果要很對iOS7版本開發(fā),建議Xcode都更新到5以上。圖2-1 OS X系統(tǒng)版本顯示圖3 創(chuàng)建項目3.1 新建iOS項目打開Xcode,如果是首次打開Xcode,你將

7、會看到一個歡迎界面,如圖:圖3-1 Xcode歡迎界面你可以直接在該界面中點擊圖3-1中1處標記的Create a new Xcode project來創(chuàng)建一個項目,也可以點擊圖中2處標記的按鈕來打開電腦中已經存在的Xcode項目。你還可以修改3處標記的復選框狀態(tài)設置下次啟動Xcode是否顯示該歡迎界面。本文不演示在此點擊1處所示創(chuàng)建項目,首先點擊該界面左上角的紅色按鈕退出該歡迎界面,然后點擊屏幕左上角的File->New->Project。截圖如下:圖3-2 Xcode菜單界面接下來你將看到如下界面:圖3-3 Xcode創(chuàng)建項目界面首先進行系統(tǒng)篩選,iOS應用則選擇iOS列表對應

8、項,OS X應用則選擇OS X列表對應項。本例為iOS應用,故在此選擇iOS中的Application(圖中左上角紅框所示),然后選擇應用模板選擇,在界面右邊列出了多種最常用的應用模板類型,開發(fā)者按照自己的應用需求可自行選擇,本例選擇Single View Application(圖中右上角紅框所示)。一般項目開發(fā)如果是自己定制的界面開發(fā),建議選擇Empty Application。做完以上選擇后點擊窗口右下角Next按鈕,進入下一個設置窗口:圖3-4 Xcode項目信息界面此處內容會根據個人情況而不同,故不做贅述,按照窗口提示,填寫相關信息即可。注意窗口下方的三個復選框,其功能分別是使用st

9、oryboards、使用自動引用計數器、包含單元測試,根據個人情況勾選/取消即可。建議選擇storyboards和Use ARC模式,關于ARC模式在以后的章節(jié)中會做重點介紹。設置完成后點擊右下角Next按鈕,進入下一個窗口:圖3-5 Xcode項目文件存儲界面按照窗口所示,選擇項目存儲位置后點擊窗口右下角Create按鈕,完成應用創(chuàng)建過程。3.2 應用程序目錄結構說明項目創(chuàng)建完成之后,Xcode會進入項目開發(fā)界面,界面大致分為三部分,左側項目及目錄結構列表、中間為代碼編輯區(qū)、右側屬性設置和控件列表等區(qū)域。下面是目錄結構的截圖:圖3-6 Xcode項目目錄界面項目初始時包含如圖所示三個主要目錄

10、,后續(xù)開發(fā)中開發(fā)者可以自行添加目錄。其中:· FirstIosApp目錄與項目名稱同名,主要存放應用相關源代碼和配置文件; · Framework存放項目使用到的框架,默認會添加圖示三個必備框架; · Products用于存放生成的應用文件,開發(fā)中開發(fā)者一般不必關心。 項目目錄建議建立統(tǒng)一的說明文檔,根據文檔屬性歸類相同文件。下圖3-7顯示某一個完整項目的目錄。其中view文件夾內都是界面元素文件,parse是接口解析文件,images是圖片文件,model是數據模型文件,dao是數據庫操作文件,util是工具類文件,viewcontroller是界面文件。文件目

11、錄實行統(tǒng)一化管理,方便文件的歸類和查找,易于團隊開發(fā)。圖3-7 Xcode項目目錄實例界面3.3 應用程序初始結構概覽整個應用程序的入口文件默認為AppDelegate.m,應該可以通過配置文件修改(未嘗試)。其內部結構如下圖3-8所示。該文件包含應用程序生命周期中各個階段可以調用的方法接口,以便應用程序在不同的狀態(tài)階段能進行相應的操作。這些方法就不一一說明了,開發(fā)者幾乎可以望名知意。主要應用的方法就是didFinishLaunchingWithOptions,是程序啟動后加載界面和初始化的方法。圖3-8 AppDelegate.m代碼圖3.4 IOS應用程序的生命周期對于上面圖示方法如果還有

12、不解的地方,可以參考下圖3-9所示(來源于網絡):圖3-9 IOS應用生命周期流程圖4 代碼入門(數據類型)做iOS開發(fā),僅僅懂得使用Xcode,僅僅了解目錄結構,僅僅了解生命周期,是遠遠不夠的,這些只是基礎中的基礎。一定的編程能力也是必不可少的。下面就簡單的介紹一下iOS開發(fā)的編程語言Objective-C,后面簡稱OC。學習一門語言,往往需要從最基礎的數據類型開始,至于編程邏輯,技巧等則是在開發(fā)過程中慢慢積累的。下面對基礎的數據類型和OC的數據類型詳細說明一下。4.1 基礎數據類型OC是C語言的一個超類,因此OC擁有C或C+的幾乎所有特性,當然它也有自己獨具一格的地方。所以OC也支持C語言

13、的數據類型,諸如int,float等也都可以在OC中使用?;A數據類型可以參考一些C語言相關介紹,這里不多做介紹。4.2 OC數據類型OC不是僅僅只能使用C/C+的數據類型,它也擁有自己的數據類型,雖然與通常人們熟知的各種數據類型看起來不太一樣,但事實上OC的數據類型是與基礎數據類型相近,也不難理解。下面列舉幾個常見的OC數據類型。4.2.1 NSNumber類和NSIntergerNSNumber是以對象的形式來包裝基礎數據類型,它提供以下方法,以下會對OC的方法定義進行介紹:+ (NSNumber *) numberWithChar: (char) value;+ (NSNumber *)

14、 numberWithInt: (int) value;+ (NSNumber *) numberWithFloat: (float) value;+ (NSNumber *) numberWithBool: (BOOL) value;例如,要從一個int數據初始化一個NSNumber可以這樣寫:NSNumber *number = NSNumber numberWithInt: 100;而要從NSNumber實例得到NSInteger數據則可以如下操作:NSInteger integer = number intValue;如果下載了SDK可以在數據類型上點擊command按鍵,查看所有方法

15、的定義。如下圖所示。圖4-1 對OC基礎類點擊command按鍵顯示圖圖4-2 對OC基礎類定義顯示圖4.2.2 NSString類型NSString是OC的字符串類。與普通字符串不同的是NSString的值需要在普通字符串前加上一個符號。例如要初始化一個'I'm a string.'的OC字符串,我們需要這樣做:NSString *str = NSString stringWithString: "I'm a string."OC也提供簡寫形式:NSString *str = "I'm a string."NSS

16、tring類還提供了很多其他形式的創(chuàng)建字符串的方法(比如:stringWithFormat等),這里就不一一列舉了,可以在基類中查看。4.2.3 NSArray類型NSArray是OC的數組類。OC的數組是很強大的,在一個數組中可以允許存在不同類型的數據,這個特性就跟強大的JavaScrit一樣。初始化一個數組可以這樣操作:NSArray *arr = NSArray arrayWithObjects:"a", "b", 1, nil;當然也支持簡化形式:NSArray *arr = "a", "b", 1;需要說

17、明一點,使用arrayWithObjects方法創(chuàng)建數組的時候最后需要以nil結尾,而使用簡化方式的時候不需要。開發(fā)中可以使用以下兩種形式獲取數組對應索引位置(index)的值:NSString *a = arrindex;NSString *b = arr objectAtIndex: index;這里對NSMutableArray類型說明一下,很多基礎類型都提供了類似的兩種類型,主要區(qū)別是,NSArray類型是不變長數組,定義后是不能修改長度;NSMutableArray是可變長度數組,可以動態(tài)改變數組內元素長度和內容。4.2.4 NSDictionary類型NSDictionary是OC

18、的字典類。字典類型在使用中以key-value鍵值對的形式存在。也支持多種初始化方式,下面列舉兩種:NSDictionary *dic = NSDictionary dictionaryWithObjects:"a","b", "c" forKeys:"first", "second", "third"NSDictionary *dic = "first": "a", "second": "b",

19、 "third": "c"取值方法跟NSArray大同小異,也提供NSMutableDictionary類型:NSString *a = dic objectForKey: "first"NSString *b = dic"second"4.2.5 NSDate類型NSDate是OC的日期類。常見用法舉例:NSDate *date = NSDate date; /返回當前時間NSDate *date = NSDate alloc init; /初始化為當前時間,類似date5 OC類的認識(成員變量和方法)iOS開

20、發(fā)常常伴隨著視圖,而視圖往往離不開視圖控制器,在iOS開發(fā)中每一個視圖控制器就是一個OC的類,因此學習iOS開發(fā)就必須了解OC的類。OC的類使用interface ClassName: superClass <protocol> end 結構來定義,NSObject是所有OC類的父類。與java相比OC的interface 關鍵字就等同于JAVA的class關鍵字,OC的protocol就是JAVA中的interface,學習時需要特別注意。下圖展示的是一個類的定義。圖5-1 定義類代碼圖5.1 類的聲明舉例聲明一個Person的類(視圖控制器)并實現(xiàn)它,擁有name、age兩個成

21、員變量,自然需要定義getName和setName、getAge和setAge,下面我們看下這個過程。首先,類的結構如下:interface Person: NSObject NSString *name;int age;end然后,我們聲明它的setter和getter方法,用來設置和讀取它的成員變量的值。按照傳統(tǒng)方式應該如下定義:interface Person: NSObject NSString *name;int age;- (void) setName: (NSString *) newName;- (NSString *) getName;- (void) setAge: (in

22、t) newAge;- (int) getAge;endOC還提供了更簡單的代碼方式:interface Person: NSObject NSString *name;int age;property(nonatomic, strong) NSString *name;property(nonatomic, assign) int age;end它的功能和上面的代碼是一樣的。補充一下,property本身可以接受參數來指定變量的getter和setter方式,其參數可用值和具體功能如下:nonatomic /聲明變量只在單線程中工作atomic /默認值,可能有多個線程會用到這個變量copy

23、 /分配一個新的空間,把原地址的內容復制過來assign /簡單的傳遞指針retain /傳遞指針后引用計數器(retainCount)會自加1strong /強引用weak /弱引用聲明就這樣就完成了,下面我們看下它的具體實現(xiàn),在OC中類的實現(xiàn)需要使用另外一個關鍵字implementation,格式如下:implementation Personend我們還是先看下傳統(tǒng)方式聲明getter和setter方法該如何實現(xiàn):implementation Person- (void) setName: (NSString *) newName = newName;- (NSStr

24、ing *) getName return ;- (void) setAge: (int) newAge self.age = newAge;- (int) getAge return self.age;endOC提供的更簡單的代碼編碼格式:implementation Personsynthesize name;synthesize age;/或者直接下面一句/synthesize name,age;end在新版的Xcode中,synthesize是可以省略的,但是建議還是都寫上。5.2 方法的定義下面對方法的如何定義進行說明,如圖是一個方法的聲明。圖5-2 方法聲明代碼圖

25、其中(BOOL)是該方法返回的數據類型,如果不需要返回則定義為(void),如果有返回數據,方法中需要return關鍵字返回匹配的數據類型。contains:toFind:是方法名稱的定義,這是自定義方法的名稱。是傳入的參數,方法的定義如同一句話的說明。這個方法可以這么理解,此函數是包含方法,在temp字符串中要找到search字符串,如果找到返回Yes,如果沒有找到返回No。(NSString *)temp和(NSString *)search是參數,括號里面的是參數的數據類型,temp和search是參數名稱。關于方法前面的+和-符號需要解釋一下。首先我們需要說明一下,一個類可以擁有成員變

26、量和方法,而方法可以包含類方法和實例方法。所謂類方法是可以使用類名直接調用的方法,而實例方法是需要該類的實例才可以調用的方法。而在OC中使用“+”表示該方法為類方法,而“-”很簡單自然是表示實例方法了。至于方法的聲明和實現(xiàn)大致和傳統(tǒng)方式聲明getter和setter是一樣的,這部分就不再重復了。6 運行和調試每一個應用的開發(fā)過程都是漫長的,而在這個過程中我們免不了需要不時的運行一下程序,看看當前的效果,檢查一下代碼是否存在異常或者錯誤。6.1 IOS模擬器6.1.1 選擇設備Xcode的強大在于內置了很多開發(fā)和調試的工具,在Xcode中內置了iOS模擬器,能夠模擬幾乎所有iOS真機的功能,因此開發(fā)者可以通過iOS模擬器測試正在開發(fā)中的應用程序,提高開發(fā)效率,減少錯誤,節(jié)省開發(fā)時間。在運行前選擇與應用對應的模擬設備是必須的,否則可能導致運行結果出現(xiàn)意外的問題。在Xcode的菜單欄下方提供了選擇模擬器的地方,建議下載5.0版本的iPhone模擬器,一般程序需要兼容IOS5.0版本。如圖所示:圖6-1 選擇模擬器運行選擇好模擬器后點擊左側的Run按鈕,就可以在指定的模擬器中啟動應用了。第一次啟動模擬器一般會比較慢,后面就好了。同樣可以點擊Run旁邊的Stop按鈕,停止模擬器中的當前應用。也許有些時候你想獨立運行iOS模擬器,而不啟動當前應用,這也是可以的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論