成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone應(yīng)用程序 Say Hello實例操作 (上篇)

移動開發(fā) iOS
本文介紹的是iPhone應(yīng)用程序 Say Hello實例操作,以圖文的形式為友們介紹,剛方便與操作學(xué)習(xí),我們先來看內(nèi)容。

iPhone應(yīng)用程序 Say Hello實例操作是本文要介紹的內(nèi)容,整個實例操作過程分為三個章節(jié)為友們介紹,本節(jié)主要介紹了需求分析,模型、視圖、 控制器的等一些內(nèi)容,我們先來看詳細(xì)內(nèi)容。

項目需求

寫一個iPhone應(yīng)用程序,要求可以輸入名字,點擊按鈕后,會顯示一段文字向輸入的名字打招呼,例如輸入“寶玉”,顯示“你好,寶玉!”

需求分析

這是一個很簡單的應(yīng)用程序,包含一個文本輸入框,一個文本顯示框,一個按鈕。輸入名字到文本輸入框,再點擊按鈕,這時文本顯示框的文字就會變成“你好,<名字>!”。但是要注意,如果用戶輸入為空,要有警告提示用戶重新輸入;如果用戶輸入文字太長,超過16個字符,要自動截斷。

產(chǎn)品設(shè)計

根據(jù)項目需求,畫出相應(yīng)的產(chǎn)品原型圖:

初始狀態(tài)

初始時,文本輸入框為空,但是顯示水印,提醒用戶可以輸入姓名。文本顯示框文字為空。

iPhone應(yīng)用程序 Say Hello實例操作

輸入名字并點擊按鈕后

輸入名字,并點擊按鈕后,屏幕中間顯示文字:“您好,<名字>!”。

iPhone應(yīng)用程序 Say Hello實例操作

沒有輸入名字的警告提示

如果沒有輸入名字,點擊按鈕后彈出警告窗口,提醒用戶輸入名字。

iPhone應(yīng)用程序 Say Hello實例操作

系統(tǒng)分析

這是一個非常簡單的應(yīng)用程序,實現(xiàn)思路不不算復(fù)雜:

一個文本輸入框,用來輸入文字,需要限制***字符長度為16個字符,輸入框沒有內(nèi)容時,顯示水印文字。UITextField控件正好可以滿足需求。

一個文本顯示框,用來顯示最終生成的文字。使用UILabel控件即可滿足需求。

一個按鈕,點擊后,獲取文本輸入框文字內(nèi)容,生成“你好,<名字>!”文字,并顯示在文本顯示框中。如果點擊時文本輸入框文字為空,彈出警告提示框。

同時,這個應(yīng)用程序在開發(fā)過程中,需要應(yīng)用到iPhone開發(fā)中一些常用的設(shè)計模式:

委托(Delegate)

模型 視圖 控制器(MVC)

目標(biāo) - 動作(Target-Action)

委托(Delegate)

委托模式是一個對象周期性地向被指定為其委托的另一個對象發(fā)送消息,向其請求輸入或者通知某件事情正在發(fā)生。該模式可替換類繼承來對可復(fù)用對象的功能進(jìn)行擴(kuò)展。

在本項目中,應(yīng)用程序?qū)ο髸蚱湮邪l(fā)送消息,通知它主要的啟動例程已經(jīng)完成并且定制的配置可開始執(zhí)行。為了建立并管理視圖,委托會創(chuàng)建一個控制器實例。另外,當(dāng)用戶點擊Return按鍵后,文本字段也會通知它的委托(即所創(chuàng)建的控制器對象)

委托方法通常會集中在一起形成一份協(xié)議。 一份協(xié)議基本上就是一個方法的列表。如果一個類遵循某個協(xié)議,則它要保證實現(xiàn)協(xié)議所要求的方法(有些方法可選擇實現(xiàn)與否)。委托協(xié)議規(guī)定了一個對象可以發(fā)送給委托的所有消息。例如常見的有:UITextFieldDelegate, UIApplicationDelegate, UIScrollViewDelegate, UITableViewDelegate, UIWebViewDelegate。

iPhone應(yīng)用程序 Say Hello實例操作

模型 視圖 控制器(MVC)

MVC模式將應(yīng)用程序中的對象設(shè)定為三種角色:模型角色(Model)、視圖角色(View)和控制器角色(Controller)。

模型對象(Model)表示數(shù)據(jù)。例如,在iPhone自帶的通訊錄應(yīng)用中,聯(lián)系人是模型對象,在一個繪畫應(yīng)用中,圓形、矩形是模型對象。

本項目的應(yīng)用程序用到的數(shù)據(jù)非常簡單——字符串,并且該字符串只有在按鈕點擊的方法中用到。其實換一種角度來說,字符串也是一種最簡單的模型對象,在其他的應(yīng)用程序中,模型對象將會更加復(fù)雜,并且模型對象在程序中無處不在,可以在多個地方進(jìn)行訪問。

視圖對象(View)負(fù)責(zé)顯示數(shù)據(jù),比如UILabel可以顯示文本、UIImageView可以顯示圖片,也會支持用戶對數(shù)據(jù)的編輯操作,例如UITextField可以支持用戶輸入。

在我們接下來要創(chuàng)建的項目中,需要一個主視圖來包含其它幾個視圖——首先是一個文本輸入框,它用于捕獲用戶輸入信息;然后是一個文本顯示框,它用于顯示文本,而文本內(nèi)容則是基于用戶的輸入;另外還需要一個按鍵,讓用戶可以點擊它,點擊后通知文本字段更新。

控制器對象(Controller)介于模型和視圖之間。

在我們接下來要創(chuàng)建的項目中,當(dāng)用戶點擊按鈕后,觸發(fā)更新操作,控制器對象將會從文本輸入框中獲取輸入的文字內(nèi)容,并把文字存放在一個字符串中,然后再把文本顯示框的內(nèi)容更新成格式化好的內(nèi)容。

iPhone應(yīng)用程序 Say Hello實例操作

結(jié)合MVC模式,對于本項目的主要流程,整個如圖所示:

iPhone應(yīng)用程序 Say Hello實例操作

目標(biāo) - 動作(Target - Action)

目標(biāo)-動作機(jī)制,允許一個控件對象(例如按鍵或滑動條) 向另外一個對象發(fā)送一條消息(即動作),以之作為對某個用戶事件(例如一個點擊事件)的響應(yīng)。接收到消息的對象則可以對消息進(jìn)行響應(yīng),并針對業(yè)務(wù)要求做出處理。

在本項目中,當(dāng)點擊按鈕時,它會通知控制器去獲取文本輸入框內(nèi)容,并根據(jù)輸入內(nèi)容更新文本顯示框。

iPhone應(yīng)用程序 Say Hello實例操作

開發(fā)

創(chuàng)建項目

我們將開始使用Xcode來創(chuàng)建項目,啟動Xcode(缺省情況下,Xcode位于 /Developer/Applications 里面),然后選擇File > New > New Project,這樣就可以創(chuàng)建一個新的工程。應(yīng)該可以看到一個新的窗口,如下圖所示:

iPhone應(yīng)用程序 Say Hello實例操作

選中 Window-Based Application 并點擊 Next 按鈕,輸入Product Name(項目名):SayHello,在Company Identifier那,可以輸入公司名唯一標(biāo)識。

iPhone應(yīng)用程序 Say Hello實例操作

點擊Next,選擇項目存儲位置,***點擊Create按鈕。

完成上述步驟后,將看到如下的新項目窗口:

iPhone應(yīng)用程序 Say Hello實例操作

在進(jìn)行下一步工作之前,可以先編譯運行一下程序,這樣就可以通過模擬器看到程序運行后的樣子。在Xcode的菜單中選擇 Product > Run 或者點擊左上角工具欄上的 Run 按鈕,iPhone模擬器應(yīng)該會自動啟動。當(dāng)應(yīng)用程序啟動后,可以看到一個白色屏幕。

應(yīng)用程序啟動過程解析

通過Xcode的模板創(chuàng)建項目時,模板已經(jīng)幫助設(shè)置好了應(yīng)用程序基本程序環(huán)境,它會幫助創(chuàng)建一個應(yīng)用程序?qū)ο螅瑢?yīng)用程序和窗口連接起來,建立一個運行環(huán)境。整個啟動過程從UIApplicationMain函數(shù)開始,如下圖所示:

iPhone應(yīng)用程序 Say Hello實例操作

main.m文件中的main函數(shù)會調(diào)用UIApplicationMain函數(shù):

  1. int retVal = UIApplicationMain(argc, argv, nil, nil);  

該函數(shù)將會創(chuàng)建一個UIApplicaion類的實例。同時它會搜索應(yīng)用程序的Info.plist屬性列表文件。 Info.plist文件是一部字典,它主要包含諸如應(yīng)用程序名稱、圖標(biāo)這樣的信息,它也包含應(yīng)用程序?qū)ο髴?yīng)該加載的nib 文件(雖然該文件的擴(kuò)展名為“xib”,但是我們習(xí)慣稱之為“nib 文件”)的名稱。Nib文件主要有用戶界面的信息。本項目的Info.plist文件具有下面的內(nèi)容:

iPhone應(yīng)用程序 Say Hello實例操作

術(shù)語: 雖然Interface Builder文檔的擴(kuò)展名可能是“.xib” ,但歷史上,其擴(kuò)展名是“.nib”(“NextStep Interface Builder”的首字母縮寫),因此人們就俗稱其為“Nib文件”。

這表明應(yīng)用程序啟動時將會加載MainWindow nib文件。在Xcode中可以單擊MainWindow.xib進(jìn)行查看(注意在Xcode4中已經(jīng)不需要通過Interface Builder來打開nib文件,可以直接在Xcode對nib文件進(jìn)行查看和編輯):

iPhone應(yīng)用程序 Say Hello實例操作

MainWindow Nib文檔包含4個對象:

File's Owner,文件擁有者代理對象,在這里MainWindow的擁有者對象時UIApplication實例

First Responder,***響應(yīng)者代理對象,在本項目中,沒有使用到

Say Hello App Delegate,SayHelloAppDelegate的實例,也就是應(yīng)用程序的委托

Window,一個窗口對象。它默認(rèn)是白色背景,程序啟動時看到的就是它

應(yīng)用程序?qū)ο笤谕瓿蓡雍螅瑫蛭邪l(fā)送applicationDidFinishLaunching:消息,通知程序已經(jīng)啟動成功了,這樣我們可以在收到這個消息后根據(jù)需要進(jìn)行一些操作。下圖是一個簡化的iPhone應(yīng)用程序生命周期圖,簡要展示了發(fā)生在應(yīng)用程序啟動到退出的過程。

iPhone應(yīng)用程序 Say Hello實例操作

這樣,我們基本了解了如何創(chuàng)建一個項目,以及一個應(yīng)用程序的啟動過程,接下來,我們需要創(chuàng)建一個視圖控制器(UIViewController)實例,用來實現(xiàn)項目功能。

小結(jié):關(guān)于iPhone應(yīng)用程序 Say Hello實例操作 (上篇)的內(nèi)容介紹完了,希望本文對你有所幫助,請繼續(xù)閱讀 iPhone應(yīng)用程序 Say Hello實例操作 (中篇)

責(zé)任編輯:zhaolei 來源: 博客園
相關(guān)推薦

2011-07-19 11:12:07

iPhone 控制器

2011-07-19 10:56:15

iPhone 控制器 視圖

2011-07-26 11:13:15

iPhone PXL

2011-07-26 16:43:59

iPhone Web 服務(wù)器

2011-07-21 10:47:37

iPhone Cocoa 委托

2011-07-26 13:23:14

iPhone 圖片 相冊

2011-07-19 09:46:38

2011-07-26 10:09:08

iPhone 多語言 國際化

2011-07-20 15:58:58

iPhone 應(yīng)用程序 生命周期

2011-07-26 09:41:23

iPhone xcode Mac OS X

2010-08-27 10:41:41

iPhone核心應(yīng)用程序

2011-07-21 15:56:32

iPhone 截屏

2011-07-27 17:30:40

iPhone Locate 定位

2011-08-12 14:54:45

iPhone委托

2011-07-19 14:36:32

iPhone

2011-08-05 13:49:53

iPhone 應(yīng)用 開發(fā)

2011-05-19 15:19:16

2011-07-05 16:59:15

Qt 動態(tài) 鏈接庫

2011-07-26 16:33:56

iPhone Delegate

2011-07-28 13:59:40

iPhone App
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 精品久久精品 | 91视频麻豆 | 国产精品一区久久久 | 亚洲欧美综合 | 精品日韩一区 | 日韩性在线 | 欧美黄页 | 欧美在线观看一区 | 国产精品久久久久久久久久久久久久 | 亚洲精品国产精品国自产在线 | 久久久激情 | 久久精品国产久精国产 | 免费在线a视频 | 国产99久久久国产精品下药 | 亚洲精品视频在线看 | 日日夜夜精品免费视频 | 在线观看黄色大片 | 成人小视频在线观看 | 亚洲精彩视频 | 日韩欧美专区 | 一区二区三区免费网站 | 国产一区二区在线观看视频 | 欧美成人aaa级毛片在线视频 | 欧美国产免费 | 欧美精品一区在线 | av二区三区 | 视频在线一区二区 | 一区二区三区在线看 | 暴草美女 | 亚洲精品日韩一区二区电影 | 四虎永久免费黄色影片 | 91一区二区 | 影音先锋中文字幕在线观看 | 日本视频一区二区三区 | 国产十日韩十欧美 | 亚洲超碰在线观看 | 精品国产18久久久久久二百 | 免费看黄视频网站 | 日日夜夜免费精品视频 | 可以免费观看的av | 国产乱码精品一区二区三区av |