本篇將介紹了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)接彼此
首先看窗口.在 HelloWorldAppDelegate.h 文件當(dāng)中有這樣兩行:
其中第一行定義了程序的窗口,第二行定義了我們自己的界面.在 HelloWorldAppDelegate.m 文件中,函數(shù)
- IBOutletUIWindow*window;
- MyViewController*myViewController;
- (void)applicationDidFinishLaunching:(UIApplication *)application 是iPhone開發(fā)者經(jīng)常要打交道的一個(gè),定義了程序啟動(dòng)后要做的工作.這幾行程序的任務(wù)是:指定 myViewController 為子界面,
- MyViewController* aViewController =[[MyViewControlleralloc]initWithNibName:@”HelloWorld”bundle:[NSBundlemainBundle]];
- self.myViewController = aViewController ;
- [aViewControllerrelease];
并把子界面顯示到上面來.
- UIView* controllersView =[myViewControllerview];
- [windowaddSubview:controllersView];
- [windowmakeKeyAndVisible];
前面提到了,程序設(shè)計(jì)遵循了MVC方法,但我們還沒介紹代碼和界面之間是怎么聯(lián)系的,也就是說,我們說了程序的UIWindow和view controller要干什么什么,也畫出了界面,可iPhone怎么知道哪個(gè)類對(duì)應(yīng)哪個(gè)界面呢?這個(gè)是在IB(Interface Builder)中完成的.請(qǐng)雙擊 HelloWorld.xib 打開IB.下面看的就是我們的界面.
點(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 文件中,
- -(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event
- {
- //Dismissthekeyboardwhentheviewoutsidethetextfieldistouched.
- [textFieldresignFirstResponder];
- //Revertthetextfieldtothepreviousvalue.
- textField.text = self .string;
- [supertouchesBegan:toucheswithEvent:event];
- }
的作用是:對(duì)觸摸做出響應(yīng).當(dāng)觸摸在鍵盤外時(shí),通過 resignFirstResponder 撤銷鍵盤.
- -(BOOL)textFieldShouldReturn:(UITextField*)theTextField{
- //Whentheuserpressesreturn,takefocusawayfromthetextfieldsothatthekeyboardisdismissed.
- if( theTextField ==textField){
- [textFieldresignFirstResponder];
- //Invokethemethodthatchangesthegreeting.
- [selfupdateString];
- }
- returnYES;
- }
作用是:當(dāng)輸入完文字并按Return后,隱藏鍵盤,并調(diào)用updateString命令來更新顯示.這個(gè)命令如下:
- -(void)updateString{
- //Storethetextofthetextfieldinthe‘string’instancevariable.
- self.string = textField .text;
- //Setthetextofthelabeltothevalueofthe‘string’instancevariable.
- label.text = self .string;
- }
簡(jiǎn)單的說就是用輸入的文字來替換標(biāo)簽原來的文字以更新顯示.
好了,關(guān)于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ì)您有幫助就好】元
