久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    iPhone開發學習手記–Hello World(分析篇) | 雨雪霏霏 - iPhone...

     xrzs 2010-02-03

    iPhone開發學習手記–Hello World(分析篇)

    Posted by: 雨雪霏霏 In: iPhone開發教程

    雨雪霏霏的博客在之前一篇iPhone開發學習手記中介紹了Hello World程序的下載和模擬運行,本篇將分析代碼,也就是到底這個程序是怎么say Hello的.本文適合尚未入門的開發者,有經驗的開發員可以飄過本篇,或者留下來提點寶貴意見:)

    這個程序基本的運行順序是:載入窗口(UIWindow)->載入自定義的界面(MyViewController),而各種消息的處理均在自定義的界面當中.而程序的設計遵循了MVC(Model-View-Controller)方法,也就是界面和程序是分開做的,通過controller聯接彼此.



    首先看窗口.在 HelloWorldAppDelegate.h 文件當中有這樣兩行:

    IBOutlet UIWindow *window;
    MyViewController *myViewController;

    其中第一行定義了程序的窗口,第二行定義了我們自己的界面.在 HelloWorldAppDelegate.m 文件中,函數
    - (void)applicationDidFinishLaunching:(UIApplication *)application 是iPhone開發者經常要打交道的一個,定義了程序啟動后要做的工作.這幾行程序的任務是:指定 myViewController 為子界面,

    MyViewController *aViewController = [[MyViewController alloc] initWithNibName:@”HelloWorld” bundle:[NSBundle mainBundle]];
    self.myViewController = aViewController;
    [aViewController release];

    并把子界面顯示到上面來.

    UIView *controllersView = [myViewController view];
    [window addSubview:controllersView];
    [window makeKeyAndVisible];

    前面提到了,程序設計遵循了MVC方法,但我們還沒介紹代碼和界面之間是怎么聯系的,也就是說,我們說了程序的UIWindow和view controller要干什么什么,也畫出了界面,可iPhone怎么知道哪個類對應哪個界面呢?這個是在IB(Interface Builder)中完成的.請雙擊 HelloWorld.xib 打開IB.下面看的就是我們的界面.

    點到File’s Owner,在Identity Viewer中,注意Class為MyViewController,這就定義了Model和View之間的對應關系.在同一個xib文件中,File’s Owner設定為一個類,并指向其View,該對應關系就建立好了.

    在 MyViewController.m 文件中,

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
    // Dismiss the keyboard when the view outside the text field is touched.
    [textField resignFirstResponder];
    // Revert the text field to the previous value.
    textField.text = self.string;
    [super touchesBegan:touches withEvent:event];
    }

    的作用是:對觸摸做出響應.當觸摸在鍵盤外時,通過 resignFirstResponder 撤銷鍵盤.

    - (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
    // When the user presses return, take focus away from the text field so that the keyboard is dismissed.
    if (theTextField == textField) {
    [textField resignFirstResponder];
    // Invoke the method that changes the greeting.
    [self updateString];
    }
    return YES;
    }

    的作用是:當輸入完文字并按Return后,隱藏鍵盤,并調用updateString命令來更新顯示.這個命令如下:

    - (void)updateString {

     

    // Store the text of the text field in the ’string’ instance variable.
    self.string = textField.text;
    // Set the text of the label to the value of the ’string’ instance variable.
    label.text = self.string;
    }

    簡單的說就是用輸入的文字來替換標簽原來的文字以更新顯示.

    好了,關于Hello World就介紹到這,主要語句的功能都解說到了.寫技術類的博客有時就是很累,因為很多細節是需要程序員自己去折騰的,而作者又希望能介紹的更多,減少程序員們折騰的時間,就成了一個矛盾.雨雪霏霏的iPhone博客會有更多的技巧性文章,比如介紹怎樣調用系統的圖片庫,歡迎大家關注并提出意見建議!

    1 Response to "iPhone開發學習手記–Hello World(分析篇)"

    1 | iPhone學習開發手記 - 隱藏Status Bar和修改程序名稱的小技巧 | 雨雪霏霏 - iPhone博客

    April 11th, 2009 at 1:46 am

    Avatar

    [...] ————————————————————————- 雨雪霏霏的iPhone學習開發筆記,主要是將自己解決一些初級確很重要的問題的經驗寫出來,幫助大家更快找到答案.有興趣讀者的請看之前兩篇:Hello World(分析篇)和Hello World(搭建篇). Tags: iPhone, Status Bar, 學習, 開發, 狀態條, 編程, 雨雪霏霏 [...]

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产久9视频这里只有精品| 婷婷色香五月综合缴缴情香蕉| 亚洲欧美日韩综合久久久| 亚洲最大成人免费av| 老湿机69福利区18禁网站| 欧美人与禽2O2O性论交| 国产99视频精品免费视频36| 六月丁香婷婷色狠狠久久| 亚洲综合色婷婷六月丁香宅男大增| 国产999久久高清免费观看| 精品久久久久久无码中文野结衣| 最新亚洲av日韩av二区| 99九九视频高清在线| 日韩中文字幕国产精品| 任你躁国产自任一区二区三区| 国产一区二区三区av在线无码观看| 卡一卡2卡3卡精品网站| 精品亚洲国产成人av| 欧美中文字幕无线码视频| 公喝错春药让我高潮| 国产在线观看免费人成视频| 国产不卡一区二区在线| 麻豆蜜桃AV蜜臀AV色欲AV| 国产乱子伦视频在线播放| 国产日产久久高清欧美一区| 69堂人成无码免费视频果冻传媒| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 极品粉嫩国产18尤物在线观看| 人妻在卧室被老板疯狂进入| 久久精品毛片免费观看| 中文字幕在线精品国产| 精品国产黑色丝袜高跟鞋| 成人网站免费观看永久视频下载| 久久久综合香蕉尹人综合网| 成人国产精品日本在线观看| 老司机午夜精品视频资源| 色婷婷婷亚洲综合丁香五月| 免费无码专区毛片高潮喷水| 国产重口老太和小伙| 偷拍精品一区二区三区| 亚洲精品无码国产片|