ios開發入門-我的第一個ios程序 helloword

本章目標:iphone有一個button 彈出一個對話框,顯示一句話 helloword  並且瞭解一個程序是如何運行起來的   最終效果如下 

 

下面我們來一起做一遍:

第一步:啓動Xcode 創建一個名爲”HelloWord“新項目:界面模板選擇爲 single view appliction ,不會創建的同學 去看上一章喔  項目信息填寫如下圖。填寫完成後 選擇項目保存位置。

 

完成後在導航欄區域 xcode已經爲我們生成了一系列的 文件, 文件的結構入下圖。 後續我們會講解各目錄的作用和含意,先來體驗下 ihpone 程序開發的快捷性吧 。呵呵

 

 

 

 在導航欄區域 xcode 會爲我們生成一個 xib 類型的 文件,它是專門 對應 界面 佈局的, 每一個xib 文件 都會 有一個控制器,該xib文件對應了 控制器是  和它同名的.m 。 .h 文件是.m 文件的 接口文件   都是一一對應的 。

 

第二步 我們打開 xib 文件 如下圖 :

 

 

 選擇實用工具欄 中下面欄目中的 round rect button 控件,(默認爲label 控件後面那個就是) 你也可以點擊 objects 後面的 按鈕 來切換不同的控件展示方式。

直接拖動round rect button 控件到 view 框中 或拖到 左側objects 下面的view 上面 如圖:

 

在此步中,你可以隨意拖動 button 的位置 ,來實現你理想的效果, 他不像android中的佈局一樣,需要考慮多屏幕。

 

 第三步: 選擇view中的button  點擊改控件的 屬性檢查器  並設置 button 的title屬性  如圖:

 

 

第四步: 點擊 顯示助理編輯器 開始建立 button 點擊事件  。 按下Ctrl 控制鍵, 拖動button 到 HelloWordViewController 接口中的 @interface 那行下面和@end結束行的上面 , 拖動正確的情況下 ,在兩行之間會有 提示。並彈出一個對話框。 如圖:

 

選擇 Connection 的類型爲 action 既爲動作。 並填寫 動作名稱  Name 。 這裏我們起名爲ActionDialog  同樣你也可隨意起名的

完成這一步驟後,xcode會幫助我們在 HelloWordViewController.m 和 HelloWordViewController.h 生成一組方法。 方法名稱就是你剛剛命名的動作名稱, .h 類中爲接口方法,我們無需操作, 只需要在.m類中 完善 動作方法即可 

 

最後,在 HelloWordViewController.m 類中 的 - (IBAction)ActionDialog:(id)sender  方法中 實現 對話框 代碼 , 如下 :

- (IBAction)ActionDialog:(id)sender {
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提醒" message:@"helloWord 這是我的第一個ios程序喔,嘻嘻" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
    [alert show];
    [alert release];
}

到此搞定, 或許 大家 還是 比較模糊, 其實ios 開發非常簡單, 只是和其他語言的開發思想和xcode 的使用上 不熟悉而已,一旦你的思維轉變過來, 那就非常容易了, 要記得喔,學習開發,就要多動手喔

 

下面我們來了解下這個程序是如何運行的

首先

主函數

在iPhone的應用程序中,main函數僅在最小程度上被使用,應用程序運行所需的大多數實際工作由UIApplicationMain函數來處理。因此,當您在Xcode中開始一個新的應用程序工程時,每個工程模板都會提供一個main函數的標準實現,該實現和“處理關鍵的應用程序任務”部分提供的實現是一樣的。main例程只做三件事:創建一個自動釋放池,調用UIApplicationMain函數,以及使用自動釋放池。除了少數的例外,您永遠不應該改變這個函數的實現。

我們的main 函數位於 /項目/Supporting Files/ 目錄下面  的main.m 文件我們無需更改它, 所有的ios 應用程序 都是從它開始啓動的。

 

程序清單的核心代碼是UIApplicationMain函數,它接收四個參數,並將它們用於初始化應用程序。傳遞給該函數的缺省值並不需要修改,但是它們對於應用程序啓動的作用還是值得解釋一下。除了傳給main函數的argcargv之外,該函數還需要兩個字符串參數,用於標識應用程序的首要類(即應用程序對象所屬的類)和應用程序委託類。如果首要類字符串的值爲nil, UIKit就缺省使用UIApplication類;如果應用程序委託類爲nil,UIKit就會將應用程序主nib文件(針對通過Xcode模板創建的應用程序)中的某個對象假定爲應用程序的委託對象。如果您將這些參數設置爲非nil值,則在應用程序啓動時,UIApplicationMain函數會創建一個與傳入值相對應的類實例,並將它用於既定的目的。因此,如果您的應用程序使用了UIApplication類的定製子類(這種做法是不推薦的,但確實是可能的),就需要在第三個參數指定該定製類的類名。

其次

應用程序的委託

監控應用程序的高級行爲是應用程序委託對象的責任,而應用程序委託對象是您提供的定製類實例。委託是一種避免對複雜的UIKit對象(比如缺省的UIApplication對象)進行子類化的機制。在這種機制下,您可以不進行子類化和方法重載,而是將自己的定製代碼放到委託對象中,從而避免對複雜對象進行修改。當您感興趣的事件發生時,複雜對象會將消息發送給您定製的委託對象。您可以通過這種“掛鉤”執行自己的定製代碼,實現需要的行爲。 該例中的 委託爲:HelloWordAppDelegate 類

應用程序啓動委託時會加載 主的nib 文件 就是應用程序中需要顯示的第一個用戶界面。 具體實現在

HelloWordAppDelegate.m 類中的

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions        方法中

 

最後就是 nib 文件了

主Nib文件

初始化的另一個任務是裝載應用程序的主nib文件。如果應用程序的信息屬性列表(Info.plist)文件中含有NSMainNibFile鍵,則作爲初始化過程的一個部分,UIApplication對象會裝載該鍵指定的nib文件。主nib文件是唯一一個自動裝載的nib文件,其它的nib文件可以在稍後根據需要進行裝載。

Nib文件是基於磁盤的資源文件,用於存儲一或多個對象的快照。iPhone應用程序的主nib文件通常包含一個窗口對象和一個應用程 序委託對象,還可能包含一個或多個管理窗口的其它重要對象。裝載一個nib文件會使該文件中的對象被重新構造,從而將每個對象的磁盤表示轉化爲應用程序可 以操作的內存對象。從nib文件中裝載的對象和通過編程方式創建的對象之間沒有區別。然而,對於用戶界面而言,以圖形的方式(使用Interface Builder程序)創建與用戶界面相關聯的對象並將它們存儲在nib文件中通常比以編程的方式進行創建更加方便。

 

呵呵 這一章就到這裏了, 各位童鞋,如有疑問或又問題的地方請留言喔 , 歡迎大家拍磚,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章