日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

iPhone開發(fā)入門篇 “Hello World”分析代碼

系統(tǒng) 1984 0

本篇將介紹了Hello World程序的分析代碼,也就是到底這個(gè)程序是怎么say Hello的.本文非常適合尚未入門的開發(fā)者,希望各位iPhone應(yīng)用程序開發(fā)的初學(xué)者喜歡。

每個(gè)學(xué)習(xí)程序開發(fā)的第一個(gè)程序都是“Hello World”,作為剛剛?cè)腴T的iPhone應(yīng)用程序開發(fā)者,掌握“Hello World”的分析代碼是十分重要的。本篇將介紹了Hello World程序的分析代碼,也就是到底這個(gè)程序是怎么say Hello的。

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

. iPhone開發(fā)入門篇 “Hello World”分析代碼

首先看窗口.在 HelloWorldAppDelegate.h 文件當(dāng)中有這樣兩行:

    
  1. IBOutletUIWindow*window;
  2. MyViewController*myViewController;
其中第一行定義了程序的窗口,第二行定義了我們自己的界面.在 HelloWorldAppDelegate.m 文件中,函數(shù)

- (void)applicationDidFinishLaunching:(UIApplication *)application 是iPhone開發(fā)者經(jīng)常要打交道的一個(gè),定義了程序啟動(dòng)后要做的工作.這幾行程序的任務(wù)是:指定 myViewController 為子界面,

  1. MyViewController* aViewController =[[MyViewControlleralloc]initWithNibName:@”HelloWorld”bundle:[NSBundlemainBundle]];
  2. self.myViewController = aViewController ;
  3. [aViewControllerrelease];

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

    
  1. UIView* controllersView =[myViewControllerview];
  2. [windowaddSubview:controllersView];
  3. [windowmakeKeyAndVisible];

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

iPhone界面 iPhone界面

點(diǎn)到File’s Owner,在Identity Viewer中,注意Class為MyViewController,這就定義了Model和View之間的對(duì)應(yīng)關(guān)系.在同一個(gè)xib文件中,File’s Owner設(shè)定為一個(gè)類,并指向其View,該對(duì)應(yīng)關(guān)系就建立好了.

定義程序

在 MyViewController.m 文件中,

  1. -(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event
  2. {
  3. //Dismissthekeyboardwhentheviewoutsidethetextfieldistouched.
  4. [textFieldresignFirstResponder];
  5. //Revertthetextfieldtothepreviousvalue.
  6. textField.text = self .string;
  7. [supertouchesBegan:toucheswithEvent:event];
  8. }

的作用是:對(duì)觸摸做出響應(yīng).當(dāng)觸摸在鍵盤外時(shí),通過 resignFirstResponder 撤銷鍵盤.

  1. -(BOOL)textFieldShouldReturn:(UITextField*)theTextField{
  2. //Whentheuserpressesreturn,takefocusawayfromthetextfieldsothatthekeyboardisdismissed.
  3. if( theTextField ==textField){
  4. [textFieldresignFirstResponder];
  5. //Invokethemethodthatchangesthegreeting.
  6. [selfupdateString];
  7. }
  8. returnYES;
  9. }

作用是:當(dāng)輸入完文字并按Return后,隱藏鍵盤,并調(diào)用updateString命令來更新顯示.這個(gè)命令如下:

      
  1. -(void)updateString{
  2. //Storethetextofthetextfieldinthe‘string’instancevariable.
  3. self.string = textField .text;
  4. //Setthetextofthelabeltothevalueofthe‘string’instancevariable.
  5. label.text = self .string;
  6. }

簡(jiǎn)單的說就是用輸入的文字來替換標(biāo)簽原來的文字以更新顯示.

好了,關(guān)于Hello World的分析代碼就介紹到這,主要語句的功能都解說到了.希望大家喜歡。


iPhone開發(fā)入門篇 “Hello World”分析代碼


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 大同市| 昂仁县| 喀喇沁旗| 崇仁县| 丰宁| 泰来县| 南城县| 黄石市| 泸溪县| 遂川县| 正宁县| 柳江县| 淮安市| 嘉黎县| 东兴市| 北碚区| 准格尔旗| 铅山县| 衡南县| 馆陶县| 宿松县| 赤水市| 庆安县| 罗定市| 谢通门县| 容城县| 湖北省| 万载县| 新民市| 常山县| 乌兰察布市| 洛阳市| 井冈山市| 司法| 彰武县| 三原县| 罗平县| 韶关市| 灵丘县| 浮梁县| 东光县|