計(jì)算機(jī)軟件畢業(yè)設(shè)計(jì)】基于ios平臺(tái)開發(fā)的移動(dòng)應(yīng)用—辣媽幫_第1頁
計(jì)算機(jī)軟件畢業(yè)設(shè)計(jì)】基于ios平臺(tái)開發(fā)的移動(dòng)應(yīng)用—辣媽幫_第2頁
計(jì)算機(jī)軟件畢業(yè)設(shè)計(jì)】基于ios平臺(tái)開發(fā)的移動(dòng)應(yīng)用—辣媽幫_第3頁
計(jì)算機(jī)軟件畢業(yè)設(shè)計(jì)】基于ios平臺(tái)開發(fā)的移動(dòng)應(yīng)用—辣媽幫_第4頁
計(jì)算機(jī)軟件畢業(yè)設(shè)計(jì)】基于ios平臺(tái)開發(fā)的移動(dòng)應(yīng)用—辣媽幫_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、河北農(nóng)業(yè)大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 題 目:基于iOS平臺(tái)開發(fā)的移動(dòng)應(yīng)用辣媽幫 摘 要隨著社會(huì)的科技發(fā)展,人們的生活中越來越不能缺少移動(dòng)技術(shù)的產(chǎn)品,人們也比較注重便捷以及方便。正是由于這種人們的想法,移動(dòng)技術(shù)的潮流也指向了手機(jī)應(yīng)用,因此手機(jī)移動(dòng)應(yīng)用已經(jīng)開始成為一種新的功能需求,受到了越來越多的人們關(guān)注。隨著手機(jī)的普遍使用,許多國家的手機(jī)品牌也不斷滲入人們的生活中,例如國內(nèi)的K-TOUCH(天語),人們?cè)谠缙谑褂玫姆姨mNOKIA(諾基亞),日本的SAMSUNG(三星),美國的iPhone(蘋果)等等眾多手機(jī)品牌。在這些手機(jī)品牌中蘋果也一直以它的特色占據(jù)著手機(jī)市場(chǎng)中的一定位置。蘋果系統(tǒng)作為市場(chǎng)占有率

2、超過30%的手機(jī)平臺(tái),其移動(dòng)應(yīng)用的發(fā)展也是非常迅速的。本文主要介紹基于iOS平臺(tái)開發(fā)的一款蘋果手機(jī)移動(dòng)應(yīng)用辣媽幫。本文首先詳細(xì)介紹了iOS的系統(tǒng)以及它的發(fā)展?fàn)顩r,接下來介紹了項(xiàng)目研究的背景、研究意義以及論文的主要工作,然后在對(duì)iOS的開發(fā)技術(shù)進(jìn)行了基本的介紹,其中包括iOS應(yīng)用的特點(diǎn)、MVC軟件的設(shè)計(jì)模式、SQLite數(shù)據(jù)庫等技術(shù),然后從功能需求以及非功能性的需求點(diǎn)出發(fā),對(duì)辣媽幫應(yīng)用客戶端進(jìn)行了設(shè)計(jì),從請(qǐng)求數(shù)據(jù)的處理以及UI界面的展示兩個(gè)部分進(jìn)行了設(shè)計(jì)以及實(shí)現(xiàn)。最后,經(jīng)過詳細(xì)的測(cè)試,使得應(yīng)用能夠使用的流暢。論文作者在項(xiàng)目中獨(dú)立完成了的模塊包括:我的幫模塊、動(dòng)態(tài)模塊、附近模塊、推薦模塊和更多模塊

3、,完成了數(shù)據(jù)庫中數(shù)據(jù)的讀取以及操作、和性能的優(yōu)化以及緩存模塊等技術(shù)。關(guān)鍵詞:iOS;辣媽;MVC;SQLiteABSTRACTWith the development of science and technology of the society, peoples life more and more cannot lack of mobile technology product, people are more easy and convenient. It is because of the peoples minds, mobile technology also points to

4、 the trend of the mobile application, so mobile applications have begun to become a new kind of functional requirements, has been more and more attention. With the widespread use of mobile phones, mobile phone brands in many countries has been into peoples life, such as domestic K - TOUCH (tianyu),

5、people in the early use of Finlands NOKIA (NOKIA), SAMSUNG (SAMSUNG) in Japan, the United States of the iPhone (apple), and so on many mobile phone brands. In these mobile phone brands featured with its apple has also been occupying a certain position in the mobile phone market. Apple system as a ma

6、rket share of more than 30% of the mobile platform, the mobile application development is very rapid.This paper mainly introduces the iOS platform to develop a application - hot mama help apple mobile devices. This article first introduced the iOS system and its development status, then introduces t

7、he research background, research significance and the main work of paper, then the iOS development technology for the basic introduction, including the characteristics of the iOS app, MVC mode in software design, such as SQLite database technology, and then from the point of the functional requireme

8、nts and non-functional requirements, the design of hot mama help application client, from the request data processing and interface shows the two parts of the UI design, and implementation. Finally, after detailed test that enables the application to use the smooth. The authors independently complet

9、ed the module in the project include: near my help module, dynamic module, module, recommendation module and more modules, completed the data in the database reads and operating, and optimization of the performance and the cache module technology.Keyword: IOS; hot mom; MVC;SQLite目 錄1. 緒論11.1 本課題的研究背

10、景以及意義11.2 國內(nèi)外的研究現(xiàn)狀11.3 本課題的研究內(nèi)容21.4 本章小結(jié)22. iOS開發(fā)語言、開發(fā)環(huán)境以及開發(fā)所用的技術(shù)介紹22.1 iOS簡介22.2 開發(fā)工具32.2.1 X-code工具32.2.2 Interface Builder32.2.3 Simulator(模擬器)32.2.4 Instruments42.3 開發(fā)語言 Objective-C42.4 應(yīng)用程序框架以及設(shè)計(jì)模式42.4.1 應(yīng)用程序框架42.4.2 設(shè)計(jì)模式62.5 本章小結(jié)63. 功能模塊設(shè)計(jì)63.1 需求分析63.1.1 我的幫63.1.2 動(dòng)態(tài)73.1.3 附近73.1.4 推薦83.1.5 更多

11、83.2 系統(tǒng)模塊設(shè)計(jì)83.3 手勢(shì)交互模塊的流程圖詳細(xì)設(shè)計(jì)93.3.1 手勢(shì)交互設(shè)計(jì)93.3.2 多點(diǎn)觸摸交互設(shè)計(jì)103.4 詳細(xì)設(shè)計(jì)113.4.1 選擇的控件113.4.2 數(shù)據(jù)輸入和傳遞123.4.3 數(shù)據(jù)的存儲(chǔ)與顯示123.5 本章小結(jié)124. 代碼的具體實(shí)現(xiàn)124.1 數(shù)據(jù)請(qǐng)求124.2 網(wǎng)絡(luò)判斷134.3 數(shù)據(jù)的解析134.4 代理的實(shí)現(xiàn)144.5 本章小結(jié)155. 系統(tǒng)測(cè)試155.1 功能模塊測(cè)試155.1.1 首頁數(shù)據(jù)測(cè)試155.1.2 幫列表的具體內(nèi)容頁數(shù)據(jù)測(cè)試165.1.3 話題具體內(nèi)容頁以及回復(fù)的數(shù)據(jù)測(cè)試185.2 其他功能頁面展示195.3 本章小結(jié)206. 總結(jié)20參

12、 考 文 獻(xiàn)21致 謝221. 緒論隨著信息網(wǎng)絡(luò)時(shí)代的快速發(fā)展,對(duì)于手機(jī)使用的方式也是越來越多樣化,智能手機(jī)以及移動(dòng)互聯(lián)網(wǎng)應(yīng)用的普及不斷改變著人們的生活方式。如今手機(jī)應(yīng)用已經(jīng)成為手機(jī)必備的軟件,本設(shè)計(jì)主要是基于iOS平臺(tái)實(shí)現(xiàn)了iPhone客戶端辣媽們聊天以及分享生活功能,通過這款應(yīng)用辣媽們可以查看到其他媽媽們的育兒經(jīng)驗(yàn)、購物以及保養(yǎng)等等。本設(shè)計(jì)采用X-Code開發(fā)工具,它具有可視化的編程界面、完善的幫助文檔以及詳細(xì)的代碼提示,對(duì)于軟件開發(fā)人員來講使用起來是非常方便的。本次設(shè)計(jì)首先概要性的介紹了本款軟件所使用的關(guān)鍵的技術(shù)以及設(shè)計(jì)模式等;然后給出模塊端總體分析與設(shè)計(jì),包括系統(tǒng)的需求分析、系統(tǒng)設(shè)計(jì)需

13、求以及系統(tǒng)的總體功能設(shè)計(jì);其次采用了圖表的方式對(duì)于設(shè)計(jì)中所涉及到的重點(diǎn)部分進(jìn)行詳細(xì)的分析以及闡述;最后具體的描述了每個(gè)模塊的實(shí)現(xiàn),對(duì)代碼進(jìn)行了詳細(xì)的解析。1.1 本課題的研究背景以及意義在現(xiàn)在科技發(fā)達(dá)的時(shí)代,互聯(lián)網(wǎng)與人們的生活的聯(lián)系變得更加密切,隨著科技不斷的進(jìn)步,手機(jī)已經(jīng)不再是簡簡單單的通話工具,手機(jī)逐步變得智能化、網(wǎng)絡(luò)話、娛樂多媒體化等。伴隨著互聯(lián)網(wǎng)技術(shù)的日益成熟以及3G手機(jī)的普及,手機(jī)網(wǎng)絡(luò)話已經(jīng)成為引人注目的焦點(diǎn),移動(dòng)互聯(lián)網(wǎng)已經(jīng)成為未來發(fā)展的重要趨勢(shì)被業(yè)界所認(rèn)可,手機(jī)成為人們使用最為廣泛的移動(dòng)信息中端在未來互聯(lián)網(wǎng)的地位也是舉足輕重的。以后在移動(dòng)互聯(lián)網(wǎng)所實(shí)現(xiàn)的包羅萬象的服務(wù)都會(huì)成為手機(jī)的載

14、體,在此基礎(chǔ)上,以手機(jī)作為主導(dǎo)地位的移動(dòng)應(yīng)用的開發(fā)也會(huì)越來越受人關(guān)注。iPhone手機(jī)軟件的開發(fā)象征著未來開發(fā)領(lǐng)域的發(fā)展趨勢(shì),隨著iPhone應(yīng)用的需求不斷增加,主要手機(jī)應(yīng)用做到創(chuàng)新、實(shí)用,就會(huì)獲得豐厚的收益。越來越多的開發(fā)者們也投身其中,中國的iPhone手機(jī)軟件開發(fā)者也逐漸的投入其開發(fā)中,由此可以看出iPhone軟件開發(fā)行業(yè)發(fā)展是非常樂觀的,但是由于語言的限制,在中國的iOS開發(fā)工作還是處于緩慢的上升階段,這也就意味著未來的市場(chǎng)將會(huì)更加龐大,很足夠上升以及提高的空間。而且現(xiàn)在隨著人們生活節(jié)奏的加快,人們也就更加注重時(shí)代的步伐,人們?nèi)匀惶幱诓粷M足只是獲取影訊的方式,所以這對(duì)于信息的傳播方式也

15、提出了更高的要求。1.2 國內(nèi)外的研究現(xiàn)狀互聯(lián)網(wǎng)與手機(jī)的相互融合形成的移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)與傳統(tǒng)的移動(dòng)的通信業(yè)務(wù)是兩個(gè)完全不同的新型業(yè)務(wù),移動(dòng)互聯(lián)網(wǎng)的日益需求量逐日上升,已經(jīng)成為傳統(tǒng)IT以及通信巨頭的藍(lán)海。隨著社會(huì)的不斷發(fā)展,各種各樣的手機(jī)應(yīng)用軟件加入了人類的社會(huì)活動(dòng)中,使人與之間的交流范圍變得更加廣泛,而且還可以使人們的思維變得更加活躍。根據(jù)摩根士丹利的一份報(bào)告顯示,未來5年移動(dòng)互聯(lián)網(wǎng)的人數(shù)將會(huì)超過傳統(tǒng)互聯(lián)網(wǎng)。移動(dòng)互聯(lián)網(wǎng)就像一塊巨大的金礦等待開采。iPhone是蘋果公司推出的一款手機(jī)平臺(tái),最主要的特點(diǎn)就是該平臺(tái)是封閉性的,統(tǒng)一由蘋果公司推出API,編程語言采用Object-C,C語言的編程效率是相

16、當(dāng)高的。目前蘋果公司取得了巨大的成功,其推出的軟件商店模式使得更多的開發(fā)者參與進(jìn)來,更大的豐富了iPhone的功能,也使得開發(fā)者有了更多的致富機(jī)會(huì)。在中國,電信、移動(dòng)、聯(lián)通相繼推出了自己的應(yīng)用程序商店,并不是只是效仿蘋果App Store的商業(yè)模式,看到更多的是多樣的應(yīng)用程序在將來會(huì)成為用戶選擇運(yùn)營商以及手機(jī)平臺(tái)的決定性因素;對(duì)于開發(fā)者來講,手機(jī)軟件商店的分成模式也會(huì)成為他們的另一個(gè)金礦。1.3 本課題的研究內(nèi)容本文深入分析了課題的背景意義、iPhone應(yīng)用的市場(chǎng)現(xiàn)狀以及發(fā)展趨勢(shì)。在前人的研究的基礎(chǔ)上對(duì)辣媽幫這一款軟件的手機(jī)客戶端進(jìn)行了重構(gòu)以及設(shè)計(jì)。本軟件是通過對(duì)服務(wù)器數(shù)據(jù)的解析,實(shí)現(xiàn)了對(duì)辣媽

17、們的生活以及心情展現(xiàn),實(shí)現(xiàn)對(duì)辣媽狀態(tài)、辣媽最近心情、評(píng)論等等功能。1.4 本章小結(jié)本章中介紹了iPhone軟件開打的課題背景以及意義,闡述了手機(jī)應(yīng)用軟件以及開發(fā)的國內(nèi)外研究現(xiàn)狀,描述了本論文所要研究的內(nèi)容以及本論文的具體架構(gòu)。2. iOS開發(fā)語言、開發(fā)環(huán)境以及開發(fā)所用的技術(shù)介紹2.1 iOS簡介iOS最初的設(shè)計(jì)是在iPhone上的操作系統(tǒng),蘋果公司在2007年的1月9日的Macworld大會(huì)上宣布了這個(gè)系統(tǒng),并且將其命名為iPhone OS,但是隨著該系統(tǒng)能夠在iPod touch、iPad以及Apple TV等蘋果產(chǎn)品上的廣泛應(yīng)用,蘋果公司在2010年6月7日的WWDC大會(huì)上將其改名為iOS

18、。根據(jù)Canalys的數(shù)據(jù)顯示,截止到2011年11月,iOS已經(jīng)占據(jù)了全球智能手機(jī)系統(tǒng)市場(chǎng)份額的30%,在美國的市場(chǎng)占有率更是到達(dá)了43%。但是近幾年Android開源操作系統(tǒng)的異軍突出以及Windows Phone的大力擴(kuò)大,iOS的市場(chǎng)所占有的份額正在被其一點(diǎn)點(diǎn)的吞食,但是iOS設(shè)備的利潤率卻是高的驚人,就拿智能手機(jī)為例iPhone的利潤額已經(jīng)占到了整個(gè)智能手機(jī)利潤額的80%,正是由于這樣,蘋果的市值已經(jīng)達(dá)到了5000億美元。iOS操作系統(tǒng)主要采用的是多點(diǎn)觸控,直接對(duì)手機(jī)進(jìn)行操作,控制方法其中包括輕觸屏幕和圖標(biāo)、滑動(dòng)、按鍵。主要的操作有:滑動(dòng)、清按、放大以及縮小。除此之外,iOS移動(dòng)設(shè)備

19、中還內(nèi)置了加速器,使得在iOS設(shè)備發(fā)生旋轉(zhuǎn)操作的同時(shí),界面也會(huì)隨之旋轉(zhuǎn),所以iPhone等便攜設(shè)備使用起來更加方便。自從3GS開始,iPhone中也內(nèi)置了陀螺儀,使得iPhone有了重力感應(yīng),使人們玩的游戲效果更加真實(shí)。在iPhone的屏幕下方是home鍵,點(diǎn)擊該鍵就會(huì)回到主界面。底部是dock,可以安放四個(gè)用戶經(jīng)常使用的程序的圖標(biāo)。屏幕的最上方是狀態(tài)欄,從這里可以看到一些相關(guān)的信息,比如時(shí)間、電池電量情況以及信號(hào)的強(qiáng)度等等。如果要啟動(dòng)應(yīng)用程序,只需要點(diǎn)擊應(yīng)用程序的圖標(biāo),點(diǎn)擊屏幕下方的home鍵便會(huì)退出該應(yīng)用程序。在iPhone3.0以后的版本中,及時(shí)應(yīng)用程序退出,當(dāng)三方軟件收到了新的信息時(shí),

20、蘋果公司的服務(wù)器將會(huì)把這些通知推送到iOS設(shè)備中(無論應(yīng)用程序是否正在運(yùn)行)。2.2 開發(fā)工具2.2.1 X-code工具X-Code是Apple開發(fā)工具套件,支持項(xiàng)目管理、編寫代碼、構(gòu)建可執(zhí)行程序、代碼的調(diào)試、代碼的版本管理以及性能優(yōu)化等。在這個(gè)套件里主要的就是應(yīng)用的本身,它提供了基本的源代碼開發(fā)環(huán)境。開發(fā)者可以在Xcode中創(chuàng)建新的項(xiàng)目,編寫新的iPhone應(yīng)用程序。一個(gè)項(xiàng)目管理著整個(gè)應(yīng)用程序所有的信息,其中包括源代碼、編譯設(shè)置以及將所有文件整合到一起的編譯規(guī)則。Xcode項(xiàng)目的核心就是項(xiàng)目的窗口,開發(fā)者可以使用該窗口更加快速的訪問應(yīng)用程序中關(guān)鍵的元素。組以及文件列表管理著項(xiàng)目的一些文件,

21、里面包括了源代碼的文件以及編譯后所生成的目標(biāo)文件。在Xcode中的工具欄中為開發(fā)者提供了比較常用的工具以及命令,使用詳細(xì)資料來設(shè)置項(xiàng)目的工作區(qū)域,項(xiàng)目的窗口的其他部分也提供了更多關(guān)于項(xiàng)目的信息。Xcode中有一個(gè)更加高級(jí)的代碼編譯器,它提供了補(bǔ)全代碼、語法高亮、臨時(shí)隱藏代碼塊,還有警告、錯(cuò)誤說明。Xcode環(huán)境中提供了一些默認(rèn)的設(shè)置以及用戶環(huán)境的設(shè)置。開發(fā)者可以在幫助文檔窗口中搜索以及查看相關(guān)的信息。2.2.2 Interface Builder在Interface Builder中所創(chuàng)建的nib文件中包括UIKit在應(yīng)用程序中所創(chuàng)建的相同對(duì)象的相關(guān)信息。運(yùn)行時(shí)加載nib文件,創(chuàng)建它們?cè)谶\(yùn)行時(shí)

22、的版本,設(shè)置與InterfaceBuilder中相同的屬性。它也會(huì)使用連接的信息,建立起新建對(duì)象與程序中其他對(duì)象之間的關(guān)系。連接的信息也提供了代碼以及nib文件的對(duì)象連接關(guān)系,與此同時(shí)也提供了對(duì)象與用戶之間的聯(lián)系??偟膩碇v,在開發(fā)者創(chuàng)建應(yīng)用程序圖形界面時(shí),使用Interface Builder可以節(jié)約更多的時(shí)間。Interface Builder不需要手工編寫代碼、定位界面的對(duì)象,而且Interface Builder還是一個(gè)可視的編輯器,開發(fā)者可以在設(shè)置的同時(shí)可以更清楚的看到運(yùn)行時(shí)界面所產(chǎn)生的效果。2.2.3 Simulator(模擬器)iPhone Simulator是iPhoneSDK中

23、比較有用的一個(gè)工具,并不需要使用真實(shí)的手機(jī)或者iOS設(shè)備來調(diào)試應(yīng)用程序。通常并不需要直接啟動(dòng)iPhone Simulator應(yīng)用程序啟動(dòng)時(shí)就會(huì)自動(dòng)啟動(dòng),Xcode也會(huì)將應(yīng)用程序安裝在iPhone Simulator上。開發(fā)者在Xcode執(zhí)行應(yīng)用程序時(shí),需要選擇iPhone模擬器以及設(shè)備。iPhone模擬器為應(yīng)用程序提供了一個(gè)本地的應(yīng)用測(cè)試環(huán)境。在iPhone模擬器測(cè)試可以通過時(shí),便可以將Xcode編譯并且運(yùn)行在iPhone上。蘋果在iPhone運(yùn)行時(shí)也提供了全面的測(cè)試環(huán)境,Xcode可以在設(shè)備測(cè)試的時(shí)候使用內(nèi)置的程序調(diào)試器來跟蹤代碼。2.2.4 Instruments為了能夠使用戶在使用軟件時(shí)

24、達(dá)到最佳狀態(tài),Instruments可以分析iPhone應(yīng)用程序在模擬器或者真機(jī)上運(yùn)行時(shí)的性能。Instruments會(huì)通過時(shí)間軸的圖標(biāo)形式展現(xiàn)出運(yùn)行應(yīng)用程序時(shí)的多種數(shù)據(jù),其中包括磁盤的活動(dòng)、CPU消耗、網(wǎng)絡(luò)活動(dòng)等等。時(shí)間軸圖標(biāo)的方式向開發(fā)者展現(xiàn)出了不同的應(yīng)用程序的相關(guān)信息,這樣方便開發(fā)者收集并且了解該應(yīng)用程序的所有行為,并不是對(duì)特定的區(qū)域來監(jiān)控。除了時(shí)間軸圖標(biāo)之外,Instruments也為開發(fā)者提供了分析應(yīng)用程序在運(yùn)行時(shí)產(chǎn)生的行為。比如,Instruments窗口可以同時(shí)保存多個(gè)運(yùn)行時(shí)的數(shù)據(jù),開發(fā)者可以通過應(yīng)用程序的行為來對(duì)代買進(jìn)行修正,而且也可以將數(shù)據(jù)保存在Instruments文檔中,

25、隨時(shí)打開這些數(shù)據(jù)。2.3 開發(fā)語言 Objective-CObective-C,通常也被稱做OC語言,是C語言的擴(kuò)充的面向?qū)ο缶幊陶Z言,主要用于Mac OS X和GNUstep這兩個(gè)使用OpenStep標(biāo)準(zhǔn)的系統(tǒng)。Objective-C最開始是并不支持垃圾回收機(jī)制的,因?yàn)槔厥招枰新L的“死亡時(shí)間”,這時(shí)會(huì)導(dǎo)致整個(gè)系統(tǒng)失去功能。但是在Xcode4.0之后,開始支持自動(dòng)釋放,也就是ARC(Automatic Reference Counting)機(jī)制,這樣就不需要開發(fā)者手動(dòng)Release(釋放)每一個(gè)對(duì)象,編譯機(jī)會(huì)在編譯程序期間自動(dòng)為需要釋放的對(duì)象添加釋放機(jī)制的,也就是之前經(jīng)常寫的NSObj

26、ect release。Objective-C和C+有許多不同的地方,Objective-C不支持運(yùn)算符重載功能,也就是不允許對(duì)象多繼承,只支持對(duì)象單繼承,但是引入的Categories和protocols可以提供很多多繼承的好處。很多經(jīng)常見的編譯時(shí)的性能優(yōu)化的方法都不能用在OC中,例如內(nèi)聯(lián)函數(shù)。2.4 應(yīng)用程序框架以及設(shè)計(jì)模式2.4.1 應(yīng)用程序框架MVC(模型視圖控制器)是Xerox PARC在八十年代為編程語言Smalltalk80發(fā)明的一種軟件設(shè)計(jì)模式,現(xiàn)在已經(jīng)被廣泛使用。在最近幾年被推薦為Sun公司J2EE平臺(tái)的設(shè)計(jì)模式,并且iOS和PHP的開發(fā)者越來越喜歡用這種模式來編程。MVC是

27、用于拆分GUI應(yīng)用程序的邏輯方法。MVC是以中國設(shè)計(jì)模式,它能夠強(qiáng)制性的使應(yīng)用程序數(shù)據(jù)的輸入、處理以及輸出分開。MVC模型將所有的功能模塊劃分成3種,如圖2.1所示。(1)模型模型對(duì)象代表特別的知識(shí)和專業(yè)技能,它們負(fù)責(zé)保存應(yīng)用程序的數(shù)據(jù)以及自定義的操作數(shù)據(jù)邏輯。被模型返回的數(shù)據(jù)是中立的,也就說模型與數(shù)據(jù)的格式是毫無相關(guān)的,這樣一個(gè)模型能夠?yàn)槎鄠€(gè)視圖提供數(shù)據(jù),由于應(yīng)用于模型的代碼只需要寫一次就可以被多個(gè)視圖共用,這樣就減少了代碼的重復(fù)使用性。(2)視圖視圖對(duì)象會(huì)知道如何向應(yīng)用程序顯示模型數(shù)據(jù),而且有可能允許開發(fā)者對(duì)該數(shù)據(jù)模型進(jìn)行編輯。視圖所指的就是用戶能夠看到并且能夠與之交互的界面,應(yīng)該如何使應(yīng)

28、用程序的界面變得越來越有挑戰(zhàn)性。MVC的最大的一個(gè)好處就是能夠?yàn)閼?yīng)用程序處理許多的不同視圖。其實(shí)在視圖中并沒有真正的處理發(fā)生,無論這些數(shù)據(jù)是否聯(lián)機(jī)存儲(chǔ)還是一個(gè)雇員列表,作為視圖來講說,它就是一個(gè)作為將數(shù)據(jù)輸出并且允許用戶操作的一種方式。(3) 控制器控制器對(duì)象就是應(yīng)用程序的視圖對(duì)象以及模型對(duì)象之間的協(xié)調(diào)者。控制器接受用戶輸入并且去調(diào)用視圖以及模型來完成用戶的需求??刂破鞅旧聿粫?huì)輸出任何數(shù)據(jù)和做出任何的處理。它的工作就是接收請(qǐng)求并且決定去調(diào)用哪個(gè)模型構(gòu)建處理請(qǐng)求,然后再確定用哪個(gè)視圖去顯示模型處理返回的數(shù)據(jù)。圖 2.1 MVC模式設(shè)計(jì)2.4.2 設(shè)計(jì)模式(1)工廠模式類工廠方法是為了向開發(fā)者提供

29、方便,它會(huì)將初始化以及分配放在一個(gè)步驟中,返回被創(chuàng)建的對(duì)象,并進(jìn)行自動(dòng)釋放處理。工廠方法不僅僅是為了方便使用,還可以為初始化過程中為對(duì)象提供分配信息。(2)單例模式Foundation和Application Kit框架中的一些類只允許創(chuàng)建一個(gè)對(duì)象,這些類在進(jìn)程中也是唯一的實(shí)力。例如,NSFileManager和NSWordspace類在使用時(shí)是基于進(jìn)程進(jìn)行唯一一個(gè)對(duì)象的實(shí)例化。當(dāng)向這些類去請(qǐng)求實(shí)例的時(shí)候,它們會(huì)傳遞一個(gè)單一實(shí)例的一個(gè)引用,如果該實(shí)例不存在,首先會(huì)先進(jìn)行初始化和分配。單例對(duì)象在充當(dāng)著控制中心的角色,來負(fù)責(zé)指引或者協(xié)調(diào)類之間的各種服務(wù)。(3)觀察者模式在iOS開發(fā)中,通知機(jī)制都是

30、以觀察者模式基礎(chǔ)實(shí)現(xiàn)的。通知機(jī)制是一個(gè)中心對(duì)象,為所有注冊(cè)該通知的觀察者提供變更通知,觀察者模式中的Subject對(duì)象,又可以稱為目標(biāo)對(duì)象,也是通知的發(fā)布者,也是被觀察者。iOS提供了注冊(cè)以及取消注冊(cè)的方法:Observer對(duì)象,也被稱為觀察者,是通知的訂閱者。一定要注冊(cè)通知,以便能夠接收到通知。2.5 本章小結(jié)本章主要是深入研究本系統(tǒng)開發(fā)工具Xcode,介紹一些編輯器以及模擬器的使用方法以及技巧。然后介紹系統(tǒng)MVC框架,指出框架在項(xiàng)目中的應(yīng)用,接著介紹了本系統(tǒng)用到設(shè)計(jì)模式。3. 功能模塊設(shè)計(jì)3.1 需求分析3.1.1 我的幫(1)首頁頁面主題內(nèi)容的構(gòu)成:廣告圖、圖文列表。廣告圖中是由圖片+廣

31、告標(biāo)題構(gòu)成的。圖文列表中,是由圖片+介紹組成的,每一個(gè)列表中具體內(nèi)容展示方式:幫圖像+幫標(biāo)題+該幫中成員頭像。圖文列表處:用戶進(jìn)入首頁默認(rèn)顯示熱門幫分類,在頂部向下拖到底部,會(huì)有添加其他幫的功能;在向上拖動(dòng)時(shí)會(huì)刷新當(dāng)前頁面,顯示最新的消息。手機(jī)可以在屏幕上下滑動(dòng),可以查看每個(gè)幫中具體內(nèi)容。在廣告圖與圖文列表中間有導(dǎo)航閱讀條,默認(rèn)選中的是喜歡狀態(tài),進(jìn)入相應(yīng)的幫的圖文列表。該導(dǎo)航處顯示:喜歡、辣媽、孕育、生活、愛購。在底部導(dǎo)航處:我的幫、動(dòng)態(tài)、附近、推薦、更多。默認(rèn)選中效果在“我的幫”。(2)具體內(nèi)容頁頂部導(dǎo)航處:中間顯示的是幫成員評(píng)論排列方式,其中包括:最后回復(fù),最新發(fā)表,只看精華;左側(cè)顯示返回

32、按鈕,右側(cè)顯示發(fā)布話題按鈕,點(diǎn)擊該按鈕時(shí)首先需要用戶登錄,未登錄的用戶點(diǎn)擊該按鈕會(huì)進(jìn)入登錄界面,如果用戶登錄就進(jìn)入發(fā)表新話題頁面;底部操作區(qū)域:頁面主體內(nèi)容構(gòu)成:幫Icon、標(biāo)題、話題的個(gè)數(shù)、該幫回復(fù)的個(gè)數(shù)、幫成員、推薦標(biāo)題、是否加入幫,該模塊處于導(dǎo)航欄底部;接下來帖子列表,每個(gè)列表中顯示幫成員Icon、該成員昵稱、發(fā)表的話題、寶寶年齡、發(fā)表話題時(shí)間以及回帖數(shù)量,如果成員最近有上傳過圖片,那么在話題的后面會(huì)有圖片的顯示,如果該貼是精華帖,在該列表的右上角會(huì)有“精”字。該頁面默認(rèn)顯示的是10條,從上面向下拖動(dòng),到底部會(huì)有刷新,刷新該頁面的帖子以及帖子個(gè)數(shù)也會(huì)增加。(3)發(fā)表評(píng)論頁 該頁面的主題內(nèi)

33、容構(gòu)成:頂部導(dǎo)航欄:左側(cè)是取消該話題按鈕,右側(cè)按鈕顯示的是發(fā)布話題按鈕,當(dāng)用戶編寫完話題內(nèi)容時(shí)點(diǎn)擊此按鈕會(huì)將話題發(fā)布出去,其他辣媽就可以對(duì)其評(píng)論。導(dǎo)航欄下面是話題標(biāo)題,之后的是話題具體內(nèi)容。在下面就是分享到幫的Icon,后面是添加圖片,用戶可以從手機(jī)相冊(cè)中選擇發(fā)布的圖片,下面可以選擇分享到哪個(gè)交流平臺(tái)中。在編寫之后點(diǎn)擊按鈕就會(huì)將按鈕發(fā)布到所編輯的內(nèi)容中,點(diǎn)擊取消會(huì)取消該編輯頁面,返回到上一級(jí)頁面。(4)查看帖子內(nèi)容頁該頁面主要是顯示的形式是圖文方式,頁面的主體內(nèi)容構(gòu)成:底部導(dǎo)航處:左側(cè)是返回按鈕,點(diǎn)擊返回幫內(nèi)容頁,在中間顯示的是查看具體評(píng)論的方式,其中包括全部、樓主、圖片,默認(rèn)選擇的是全部;在

34、導(dǎo)航處下面顯示的是該幫的廣告內(nèi)容;在廣告下面顯示的是成員的具體話題內(nèi)容,由左向右查看,在最左側(cè)顯示的是成員頭像的Icon,在圖片下面展示成員在幫中的級(jí)數(shù),成員頭像右邊向用戶展示該成員話題的內(nèi)容,如果成員上傳了圖片,那么會(huì)展示在話題內(nèi)容的下面,話題或者圖片下面是成員昵稱、寶寶年齡、發(fā)布話題的時(shí)間。每個(gè)成員在列表都會(huì)有排在第幾樓的展示;手指在屏幕可以上下滑動(dòng),拉到底部會(huì)有下拉刷新,該頁面默認(rèn)展示10條成員的評(píng)論,刷新會(huì)有5條顯示。3.1.2 動(dòng)態(tài)該頁面主要顯示幫中比較關(guān)注的動(dòng)態(tài),該界面的構(gòu)成:導(dǎo)航欄處:主要有三個(gè)按鈕,其中包括關(guān)注、通知、消息,進(jìn)入動(dòng)態(tài)頁面默認(rèn)顯示的是關(guān)注按鈕按下的狀態(tài);在導(dǎo)航欄下

35、面展示的是成員關(guān)注的具體話題,在頁面的左邊顯示的是成員的頭像Icon,然后顯示成員的昵稱、發(fā)表話題的時(shí)間、話題內(nèi)容、成員回復(fù)的內(nèi)容、地址以及評(píng)論數(shù);通知的按鈕被按下后,顯示的是辣媽小精靈為用戶通知分享的話題。3.1.3 附近該功能模塊主要顯示的是用戶周圍的辣媽,該界面通過用戶的所在位置的經(jīng)緯度來獲得離的比較近的辣媽,主要構(gòu)成形式是圖文列表形式:在每一個(gè)列表中最左邊顯示的是成員的頭像Icon,在頭像的右邊顯示的是用戶昵稱,昵稱的下面以圖片的形式顯示寶寶性別、寶寶年齡、離用戶的距離、發(fā)表話題的時(shí)間。從列表中也可以了解該用戶發(fā)布的話題個(gè)數(shù)、回復(fù)的數(shù)量、粉絲個(gè)數(shù)。頁面向上拖動(dòng),可以對(duì)頁面進(jìn)行刷新,進(jìn)入

36、頁面默認(rèn)顯示25條附近辣媽信息,刷新可以將辣媽的話題內(nèi)容進(jìn)行更新;自上向下拖動(dòng),可以加載出更多辣媽的信息,默認(rèn)多出10條內(nèi)容。3.1.4 推薦該功能模塊主要向用戶推薦一些更加有用的信息,比如育兒經(jīng)驗(yàn)、飲食健康等更多信息。該模塊展示的形式采用的是圖文列表形式:一天內(nèi)容提取四個(gè)比較有價(jià)值的信息展示給用戶,第一個(gè)信息是以一張大圖片展示出來,在圖片的下面顯示的是該推薦內(nèi)容的標(biāo)題,剩下的三條信息在自左向右觀看,首先顯示的是信息的標(biāo)題,然后是與標(biāo)題相關(guān)的圖片。該界面支持上拉來更新信息的內(nèi)容,默認(rèn)顯示的是包括當(dāng)天日期之前的三天的信息,界面自上向下拖動(dòng)更加載最近三天的內(nèi)容。3.1.5 更多該模塊包括用戶登錄、

37、用戶信息以及精品推薦功能,該界面首先先用文字的方式展示每個(gè)具體功能的信息。首先是用戶登錄功能,如果用戶在沒有登錄的狀態(tài)下點(diǎn)擊該列表,會(huì)進(jìn)入登錄頁面來提醒用戶進(jìn)行登錄,如果登錄就顯示用戶的個(gè)人具體信息;接下來是辣媽的個(gè)人信息,點(diǎn)擊可以查看辣媽的個(gè)人的具體信息,其中包括每天的話題內(nèi)容、粉絲個(gè)數(shù)、寶寶年齡、地址等信息;在接下來顯示的是關(guān)于本應(yīng)用的一些介紹,包括應(yīng)用的版本號(hào)、以及應(yīng)用軟件的詳細(xì)介紹;接下來是精品推薦功能,向用戶展示的是一些精品的應(yīng)用推薦,點(diǎn)擊可以對(duì)相應(yīng)的應(yīng)用進(jìn)行了解。3.2 系統(tǒng)模塊設(shè)計(jì)程序的整體功能模塊,里面包含功能選擇、數(shù)據(jù)判斷、輸出模塊等。數(shù)據(jù)的判斷是從cookie中取值。具體模

38、塊設(shè)計(jì)如圖3.1所示。幫具體內(nèi)容頁首頁添加幫內(nèi)容頁幫成員頁面我的幫發(fā)表話題附近話題頁面寫評(píng)論回復(fù)動(dòng)態(tài)更多推薦話題分享附近辣媽內(nèi)容頁登錄成員信息精品推薦推薦信息圖3.1 設(shè)計(jì)結(jié)構(gòu)圖3.3 手勢(shì)交互模塊的流程圖詳細(xì)設(shè)計(jì)3.3.1 手勢(shì)交互設(shè)計(jì)手勢(shì)(Gesture)是指用一個(gè)或者多個(gè)手指觸摸屏幕開始,一直到手指從屏幕上離開為止所發(fā)生的所有的時(shí)間。由于手勢(shì)是在事件之內(nèi)傳遞到系統(tǒng),然后事件會(huì)傳遞到響應(yīng)鏈(Responder Chain)。如果第一個(gè)響應(yīng)者不去處理相應(yīng)的事件(如某個(gè)手勢(shì)),那么它就會(huì)將此事件傳遞到響應(yīng)鏈的下一級(jí)。如果在該鏈中的下一個(gè)對(duì)象會(huì)響應(yīng)該特殊事件,那么它通常就會(huì)處理該事件,然后停止次

39、事件在響應(yīng)鏈中向前傳遞。如圖3.2所示。圖 3.2 手勢(shì)響應(yīng)鏈流程圖3.3.2 多點(diǎn)觸摸交互設(shè)計(jì)明顯能夠看出,觸摸(Touch)就是將手指放在iPhone屏幕上,在收拾中涉及到的觸摸數(shù)量等于同時(shí)位于屏幕上的手指數(shù)量,當(dāng)觸摸數(shù)量為1并且在進(jìn)行移動(dòng)時(shí),或者觸摸屏幕的數(shù)量大于1時(shí)會(huì)形成多點(diǎn)觸摸,如圖3.3所示。觸摸開始單擊移動(dòng)形成多點(diǎn)觸摸捏合或者移動(dòng)圖3.3 多點(diǎn)觸摸結(jié)構(gòu)圖3.4 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)也是對(duì)整個(gè)應(yīng)用程序的整體設(shè)計(jì),其中包含界面的設(shè)計(jì)、功能過程的顯示、數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)等。3.4.1 選擇的控件 UILable 顯示文字的控件,使用該控件可以顯示文字的大小、顏色、格式等字體的屬性。 UIIma

40、geView顯示圖片的控件,根據(jù)獲得到的圖片地址,能從緩沖區(qū)里或者沙盒中選取將要顯示的圖片,使用該控件能夠設(shè)置圖片的大小、格式、顏色等相關(guān)屬性。 UITextView是文字輸入的控件,當(dāng)響應(yīng)該控件時(shí)會(huì)自動(dòng)彈出鍵盤,一行輸入滿時(shí)可以進(jìn)行自動(dòng)換行。 UIButton在iPhone上是一個(gè)按鈕,該按鈕能夠響應(yīng)用戶對(duì)其進(jìn)行的一切操作,比如單擊、雙擊、長按事件,可以對(duì)響應(yīng)的事件設(shè)置響應(yīng)函數(shù)。 UITableView在iPhone上是一個(gè)一維表格視圖,自頂向下的條目清單,可選的分為多個(gè)區(qū)域,區(qū)域?qū)嶋H上將清單變成了二維的數(shù)據(jù)結(jié)構(gòu),每一個(gè)區(qū)域都是由可變的數(shù)目的條目,所以表格里某個(gè)指定的條目由它所在的區(qū)域以及所

41、在區(qū)域的row(行)來決定。 UIWebView在iPhone上是用來顯示網(wǎng)站將要顯示的信息,開發(fā)者可以重新編輯網(wǎng)頁數(shù)據(jù)的格式,并且也可以用js返回想要得到的數(shù)據(jù)。3.4.2 數(shù)據(jù)輸入和傳遞該應(yīng)用程序通過用戶對(duì)界面的操作,實(shí)現(xiàn)各個(gè)界面之間的數(shù)據(jù)傳遞,在該項(xiàng)目中點(diǎn)擊幫的詳情列表時(shí),會(huì)將當(dāng)前點(diǎn)擊幫的ID保存下來,然后將其傳遞到幫的內(nèi)容界面中。幫的內(nèi)容界面會(huì)根據(jù)這個(gè)ID進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求,然偶將獲得的數(shù)據(jù)進(jìn)行Json解析,解析之后的界面顯示到當(dāng)前界面。3.4.3 數(shù)據(jù)的存儲(chǔ)與顯示前面實(shí)現(xiàn)的很多的功能都是這樣一個(gè)關(guān)鍵點(diǎn)來運(yùn)作的,數(shù)據(jù)的保存可以分為兩種,一種是臨時(shí)緩存,臨時(shí)緩存很簡單,SDK封裝好的模塊我

42、們可以直接調(diào)用它的接口,在請(qǐng)求數(shù)據(jù)完成時(shí)可以將數(shù)據(jù)保存到緩存區(qū)域中。另一種則是將數(shù)據(jù)保存到沙盒中,也就是永久保存,這時(shí)候就要根據(jù)用戶名在沙盒中創(chuàng)建一個(gè)文件,用單例的模式創(chuàng)建一個(gè)用戶數(shù)據(jù)模型,每次程序想用某些數(shù)據(jù)時(shí),直接從文件中讀取就可以,然后將從文件中讀取到的數(shù)據(jù)顯示到界面,通過控件顯示出應(yīng)用的界面效果。3.5 本章小結(jié)本章主要是對(duì)各個(gè)功能模塊的需求做了詳細(xì)的分析。接著劃分系統(tǒng)的模塊,對(duì)智能手機(jī)的多點(diǎn)觸摸進(jìn)行了分析,對(duì)系統(tǒng)的各個(gè)功能頁面進(jìn)行詳細(xì)的構(gòu)造,完成了UI圖的數(shù)據(jù)顯示以及保存設(shè)置。4. 代碼的具體實(shí)現(xiàn)4.1 數(shù)據(jù)請(qǐng)求ASI Request是一款功能非常強(qiáng)大的 訪問開源項(xiàng)目。數(shù)據(jù)的請(qǐng)求可以

43、分為同步請(qǐng)求以及異步請(qǐng)求,同步請(qǐng)求就是指主線程阻塞,在主線程中使用該請(qǐng)求方法會(huì)使應(yīng)用程序阻塞而不會(huì)做出任何用戶事件。因此,在應(yīng)用程序設(shè)計(jì)時(shí),大多都是會(huì)另開啟專門的子線程來響應(yīng)事件,或者用異步請(qǐng)求來代替來增加用戶的體驗(yàn)。異步請(qǐng)求會(huì)更加精準(zhǔn)控制事件。異步請(qǐng)求的優(yōu)點(diǎn)是不會(huì)阻塞當(dāng)前線程,但是相對(duì)于同步請(qǐng)求來講會(huì)相對(duì)比較復(fù)雜一些,至少要在程序中加入兩個(gè)回調(diào)的方法來獲取異步事件響應(yīng)的數(shù)據(jù),而且也可以將異步請(qǐng)求設(shè)置在隊(duì)列中,可以對(duì)同時(shí)請(qǐng)求數(shù)量進(jìn)行限制。向隊(duì)列中添加的請(qǐng)求的數(shù)量大于maxConcurrentOperationCount時(shí),請(qǐng)求隊(duì)列將會(huì)被置為等待,一直到前面至少有一個(gè)請(qǐng)求完成并且出列才會(huì)被放到隊(duì)

44、列中執(zhí)行。下面是具體代碼實(shí)現(xiàn)。-(IBAction)requestUrlInTheBackground:(id)sender If(!self queue) self setQueue:NSOperationQueue alloc init;NSUrl *url = NSUrl URLWithString:” :/lmb ”;ASI Request *request = ASI Request requestWithUrl:url;request setDelegate:self;request setDidFinishSelector:selector(requestDone:);reque

45、st setDidFailSelectot:selector(requestWentWrong:);self queue addOperation:request;4.2 網(wǎng)絡(luò)判斷網(wǎng)絡(luò)判讀是指用戶能否連接到網(wǎng)絡(luò)進(jìn)行請(qǐng)求數(shù)據(jù),為了保證數(shù)據(jù)的可靠性,需要對(duì)用戶進(jìn)行網(wǎng)絡(luò)連接失敗時(shí)和超時(shí)進(jìn)行判斷,當(dāng)進(jìn)行數(shù)據(jù)請(qǐng)求時(shí),如果請(qǐng)求失敗,服務(wù)器會(huì)返回一個(gè)錯(cuò)誤的信息Error,而IOS-SDK對(duì)請(qǐng)求這一模塊進(jìn)行了非常好的封裝,會(huì)返回一個(gè)結(jié)構(gòu)體,而返回的數(shù)據(jù)中的1就會(huì)代表網(wǎng)絡(luò)連接失敗,2代表著連接30秒是超時(shí)狀態(tài)。具體代碼如下:#define NET_ERROR_CONNET_FAILURE ”網(wǎng)絡(luò)連接失敗,請(qǐng)檢查

46、網(wǎng)絡(luò)”#define NET_ERROR_TIME_OUT ”網(wǎng)絡(luò)連接超時(shí)”-(void)requestWentWrong:(ASI Request *)request NSError *error = _ Request.error;self notifyDelegateWith:nil andError:error;NSInteger code = error.code;switch(code) Case ASICounnectionFailureErrorType: /1CommUtils showMessageWithStr:NET_ERROR_CONNECT_FAILURE;brea

47、k;Case ASIRequestTimeOutErrorTypr: /2CommUtils showMessageWithStr:NET_ERROR_TIME_OUT;break;default:break;4.3 數(shù)據(jù)的解析用戶請(qǐng)求回來的數(shù)據(jù)都是JSON字符串,JSON可以表示數(shù)組以及復(fù)雜的對(duì)象,并不僅僅是鍵和值的簡單列表。JSON可以將JavaScript對(duì)象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后可以在函數(shù)之間簡單的訪問這些字符串,或者可以通過Web客戶機(jī)將異步應(yīng)用程序中的字符傳遞給服務(wù)器端程序,用戶只有經(jīng)過解析之后才能夠使用,主要代碼實(shí)現(xiàn)如下:NSDictionary *dict = NS

48、JSONSerialization JSONObjectWithData:data options:0 error:nil;CinemaFileLIstItem * cinemafilmListItem = CinemaFileLIstItem alloc init;cinemafilmListItem setValuesForKeysWithDictionary:dict;cinemaListItemArray addObject:cinemafilmListItem; NSArray *array = dict objectForKey:showList;for (NSDictionary

49、 *subDict in array) CinemaFilmShowListItem *cineFilmShowListItem = CinemaFilmShowListItem allocinit; cineFilmShowListItem.cinemaId = subDict objectForKey:cinemaId; cineFilmShowListItem.showDate = subDict objectForKey:showDate; cineFilmShowListItemArray addObject:cineFilmShowListItem; NSArray *subArr

50、ay = subDict objectForKey:foretellList; NSMutableArray *cineFilmItemArray = NSMutableArray allocinit; for (NSDictionary *subDict1 in subArray) CinemaFilmItem *cineFilmItem = CinemaFilmItem allocinit; cineFilmItem setValuesForKeysWithDictionary:subDict1; cineFilmItemArray addObject:cineFilmItem; bigC

51、ineFilmItemArray addObject:cineFilmItemArray; NSLog(bigCineFilmItemArray = %d,bigCineFilmItemArray.count); / _tableArray addObject:cineFilmItemArray;4.4 代理的實(shí)現(xiàn)由于UIWebView繼承UIScrollView,而且UIScrollView無法捕獲到UITouch響應(yīng)的事件,所以當(dāng)觸摸UIWebView時(shí),系統(tǒng)并沒有對(duì)其作出任何反應(yīng),無法實(shí)現(xiàn)全屏的效果,這里就需要用代理來實(shí)現(xiàn)手勢(shì)的注冊(cè),用來捕獲事件。代碼如下:UIGestureRecogn

52、izer *singleTap = UITApGestureRecognizer alloc initWithTarget:self action:selector(Display);_contentWeb addGestureRecognizer:sigleTap; /這個(gè)可以放到任何控件上singleTap.delegate = self;singleTap.cancelsTouchesInView = NO;-(BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldRecognizeSimultaneou

53、slyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer Return YES;4.5 本章小結(jié)本章重點(diǎn)介紹了各個(gè)功能模塊的具體實(shí)現(xiàn),以及一些算法的編碼過程,首先完成了數(shù)據(jù)的請(qǐng)求,當(dāng)請(qǐng)求完數(shù)據(jù)后對(duì)網(wǎng)絡(luò)錯(cuò)誤的判斷以及數(shù)據(jù)的解析。本章也是對(duì)整體結(jié)構(gòu)的描述。5. 系統(tǒng)測(cè)試5.1 功能模塊測(cè)試5.1.1 首頁數(shù)據(jù)測(cè)試進(jìn)入應(yīng)用程序,系統(tǒng)會(huì)從服務(wù)器中請(qǐng)求數(shù)據(jù),然后會(huì)將數(shù)據(jù)解析并且顯示在頁面中,如圖5.1所示,中間顯示的界面是幫的活動(dòng)信息界面。interface MyBangItem : NSObjectproperty (assign,nonatomic)NSInteger bid;property (assign,nonatomic)NSInteger unreadnum;property (copy,nonatomic)NSString *title;property (copy,nonatomic)NSString *bpic

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論