版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 河北農(nóng)業(yè)大學(xué) 本科畢業(yè)論文(設(shè)計(jì))題 目: 創(chuàng)意生活館iOS客戶端開發(fā) 學(xué) 院: 信息科學(xué)與技術(shù)學(xué)院 專業(yè)班級(jí): 計(jì)算機(jī)科學(xué)與技術(shù)1002班 學(xué) 號(hào): 學(xué)生姓名: 指導(dǎo)教師姓名: 指導(dǎo)教師職稱: 講師 二O一 四 年 六 月 六 日摘 要 風(fēng)起云涌的高科技時(shí)代,智能終端的普及不僅推動(dòng)了移動(dòng)互聯(lián)網(wǎng)的發(fā)展,也帶來(lái)了移動(dòng)APP應(yīng)用的爆炸式增長(zhǎng)。憑借便攜、觸屏、高清的豐富體驗(yàn),以iphone和android為代表的手機(jī)移動(dòng)設(shè)備正悄然改變著企業(yè)的運(yùn)行方式。傳統(tǒng)的pc端,人們只能靠瀏覽器打開網(wǎng)頁(yè),在網(wǎng)站上購(gòu)物,網(wǎng)站上信息量龐大繁雜,不容易找到自己想要的商品。而移動(dòng)端購(gòu)物客戶端的出現(xiàn),可以幫助人們快速找到
2、自己想要的商品,并快捷安全地完成支付功能。論文簡(jiǎn)單介紹了系統(tǒng)的相關(guān)知識(shí)及涉及技術(shù),詳細(xì)地介紹了“創(chuàng)意生活館手機(jī)應(yīng)用系統(tǒng)開發(fā)”課題開發(fā)的整個(gè)過(guò)程,包括需求分析、總體設(shè)計(jì)、模塊劃分及實(shí)現(xiàn)過(guò)程等方面的內(nèi)容,最后對(duì)各個(gè)功能模塊的操作及其界面進(jìn)行描述。本系統(tǒng)開發(fā)的應(yīng)用設(shè)計(jì)是基于Xcode5.0的ios項(xiàng)目,使用了多個(gè)第三方庫(kù),使用了多種設(shè)計(jì)模式,像MVC開發(fā)模式,KVC、KVO設(shè)計(jì)模式。本系統(tǒng)具有操作簡(jiǎn)便、通俗易懂、便攜、容易使用等大容量的特點(diǎn),非常適合現(xiàn)代生活和移動(dòng)互聯(lián)網(wǎng)的發(fā)展。關(guān)鍵詞:Xcode5.0 創(chuàng)意生活 MVCAbstractThe burgeoning high-tech era, the
3、 popularity of intelligent terminal not only promoted the development of the mobile Internet, also brought the explosion of mobile APP. With portable and rich experience of touch screen, high definition, represented by the iphone and android mobile devices are changing the operation mode of the ente
4、rprise. Traditional PC, people can only be opened by the browser page, shopping on the website, website information in large and complex, it is not easy to find the goods you want. And mobile terminal shopping client, can help people quickly find goods they want, and fast and safely complete payment
5、 functions.Paper introduces the related knowledge and technology involved in the system, detailed introduces the creative life hall mobile application system development the whole process of project development, including requirements analysis, overall design, module partition, and the content of th
6、e implementation process, etc, finally to the operation of the various functional modules and its interface is described.The system design is based on the development of application Xcode5.0 ios project, USES more than one third party libraries, using the MVC development pattern, observer pattern de
7、velopment. This system has simple operation, easy to understand, portable, easy to use, such as the characteristics of large capacity, very suitable for modern life and the development of mobile Internet.Keywords: Xcode5.0, Creative Life, MVC目 錄TOC o 1-3 h u HYPERLINK l _Toc2104 1 緒論 緒論近幾年隨著蘋果手機(jī)的熱賣,
8、智能手機(jī)終端越來(lái)越普及;結(jié)合3G網(wǎng)絡(luò)的大力發(fā)展,移動(dòng)互聯(lián)的時(shí)代已經(jīng)正式到來(lái)。此次把生活創(chuàng)意館系統(tǒng)搬到iOS手機(jī)操作系統(tǒng)上,是對(duì)移動(dòng)開發(fā)的一次簡(jiǎn)單嘗試。寄希望于此次嘗試能夠熟悉iOS移動(dòng)平臺(tái)的開發(fā),綜合自己所學(xué)知識(shí),運(yùn)用到這個(gè)項(xiàng)目中來(lái),同時(shí)期待自己有所突破和創(chuàng)新,最后能夠積累一定的移動(dòng)開發(fā)經(jīng)驗(yàn)。此次我把這些知識(shí)和信息在iOS手機(jī)平臺(tái)上展示出來(lái),在如今智能機(jī)逐漸普及的基礎(chǔ)上將會(huì)是一個(gè)新的空間。 1.1 課題開發(fā)背景風(fēng)起云涌的高科技時(shí)代,智能終端的普及不僅推動(dòng)了移動(dòng)互聯(lián)網(wǎng)的發(fā)展,也帶來(lái)了移 動(dòng)APP應(yīng)用的爆炸式增長(zhǎng)。憑借便攜、觸屏、高清的豐富體驗(yàn),以iphone和android為代 表的手機(jī)移動(dòng)設(shè)備
9、正悄然改變著企業(yè)的運(yùn)行方式。 近年來(lái),移動(dòng)購(gòu)物市場(chǎng)已具有一定的規(guī)模而且還將繼續(xù)擴(kuò)大,伴隨消費(fèi)者移動(dòng)設(shè)備使 用目的的轉(zhuǎn)變,不再只局限于看視頻、刷微博、看電子書、聽音樂(lè)等形式,移動(dòng)購(gòu)物開 始挑戰(zhàn)傳統(tǒng)購(gòu)物和PC購(gòu)物模式,成為各大電商力捧的新盈利點(diǎn)。 今年5月1日當(dāng)天,天貓無(wú)線端成交額增達(dá)到53.8%,首次超過(guò)PC端成交額。而5月2 日-5月3日,天貓無(wú)線日均支付寶成交占天貓總成交比也達(dá)到49.8%,追平PC端成交量。 這說(shuō)明人們的線上生活正在從pc端逐漸轉(zhuǎn)向移動(dòng)端,這是移動(dòng)互聯(lián)網(wǎng)帶來(lái)的巨大機(jī)遇。 移動(dòng)app的數(shù)量增長(zhǎng)也在于移動(dòng)設(shè)備的便捷,操作方便,界面簡(jiǎn)單親切。在每一個(gè)垂直領(lǐng)域內(nèi),app能夠快速幫助
10、人們實(shí)現(xiàn)想要做的事情,資訊,社交聊天,訂票,當(dāng)然少不了購(gòu)物。傳統(tǒng)的pc端,人們只能靠瀏覽器打開網(wǎng)頁(yè),在網(wǎng)站上購(gòu)物,網(wǎng)站上信息量龐大繁雜,不容易找到自己想要的商品。而移動(dòng)端購(gòu)物客戶端的出現(xiàn),可以幫助人們快速找到自己想要的商品,并快捷安全地完成支付功能。1.2 系統(tǒng)開發(fā)的意義 這個(gè)系統(tǒng)可以實(shí)現(xiàn)在iphone終端上的創(chuàng)意商品的瀏覽,還可按類別搜索創(chuàng)意生活用品,用戶可根據(jù)自己的需要來(lái)瀏覽選擇商品。能夠獲得最新的最流行的創(chuàng)意商品,讓生活緊跟時(shí)代的前沿,讓生活變得更加人性化,讓讓生活變得更簡(jiǎn)單,讓豐富多彩的生活不再是有錢人的專屬。PC端的笨重,移動(dòng)端的方便快捷,隨時(shí)隨地的瀏覽商品,收藏上商品,購(gòu)買商品,支
11、付商品。1.3 本系統(tǒng)預(yù)達(dá)到的目標(biāo)該系統(tǒng)旨為用戶展示一些生活上具有創(chuàng)意的小商品,通過(guò)主頁(yè)推薦,篩選,分類,搜索,以不同的方式最大程度地為用戶展示用戶需要的商品。用戶能夠獲得最新的最流行的創(chuàng)意商品,讓生活緊跟時(shí)代的前沿,讓生活變得更加人性化,讓生活變得更簡(jiǎn)單,讓生活更加豐富多彩。最終,用戶可以在本系統(tǒng)完成商品的購(gòu)買。 1.4 章節(jié)介紹第一章,介紹了課題的開發(fā)背景、課題開發(fā)的現(xiàn)實(shí)意義。 第二章,概略地介紹了開發(fā)此系統(tǒng)用到的各種技術(shù)理論基礎(chǔ),ios系統(tǒng)構(gòu)架,程序框架等。第三章,對(duì)該的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)結(jié)構(gòu)功能、運(yùn)行環(huán)境等概要分析設(shè)計(jì)階段做工了大體介紹即需求分析。第四章,對(duì)系統(tǒng)總體流程設(shè)計(jì)和功能設(shè)計(jì)作
12、了簡(jiǎn)要說(shuō)明,具體介紹了系統(tǒng)各功能實(shí)現(xiàn)過(guò)程。第五章,總結(jié)。2 理論技術(shù)基礎(chǔ)2.1 理論基礎(chǔ)軟件開發(fā)中理論基礎(chǔ)包括認(rèn)知科學(xué)中關(guān)于概念模式的概念與方法;數(shù)據(jù)庫(kù)技術(shù)的理論與方法;編譯技術(shù)的有關(guān)方法;關(guān)于人機(jī)界面的理論與方法;管理科學(xué)中關(guān)于項(xiàng)目管理與版本管理的理論與方法;系統(tǒng)科學(xué)與系統(tǒng)工程中的有關(guān)理論與方法,當(dāng)然還有面向?qū)ο蟮拈_發(fā)方法。概念模式是認(rèn)知科學(xué)中的一個(gè)用語(yǔ),指的是人信在認(rèn)識(shí)事物過(guò)程中,對(duì)于某一事物或某一系統(tǒng)形成的抽象的、一般化的框架。概念模式在認(rèn)識(shí)過(guò)程中十分重要,同時(shí)作為交流與表達(dá)工具也是十分重要的,人們?cè)诨ハ嗯浜?、互相協(xié)調(diào)、共同完成某項(xiàng)任務(wù)的時(shí)候,需要統(tǒng)一認(rèn)識(shí)、協(xié)同行動(dòng),就必須用某種公認(rèn)的方
13、式來(lái)進(jìn)行表述,概念模式正是起了這種作用。概念模式的實(shí)現(xiàn)方式包括:框圖:把程序基本步驟分為處理、判斷、輸入輸出、起始或終止等幾個(gè)功能,并能不同的記號(hào)加以表示,用箭頭表示控制或執(zhí)行的順序。 結(jié)構(gòu)圖:它的基本圖例為模塊,以模塊的調(diào)用關(guān)系為線索,用連線表示調(diào)用關(guān)系,并注明傳遞參數(shù)?;菊{(diào)用方式有:順序調(diào)用、選擇調(diào)用、循環(huán)調(diào)用。 數(shù)據(jù)流程圖( DFD ):面對(duì)的是系統(tǒng)的信息流程,把信息流看作一個(gè)組織或系統(tǒng)運(yùn)作的線索,簡(jiǎn)明扼要地勾畫出全局,基本元素是外部實(shí)體,以箭頭表示信息在它們之間的流動(dòng)狀況。實(shí)體關(guān)系圖:用于描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)的概念模式,以實(shí)體、關(guān)系、屬性三個(gè)基本概念概括數(shù)據(jù)的基本結(jié)構(gòu)。數(shù)據(jù)字典( DD
14、):描述數(shù)據(jù)內(nèi)容的概念模式,用表格的形式列出數(shù)據(jù)數(shù)據(jù)的基本屬性及相互關(guān)系。時(shí)序網(wǎng)絡(luò):描述系統(tǒng)狀態(tài)及轉(zhuǎn)換方式,常用于實(shí)時(shí)控制方面的軟件。數(shù)學(xué)與邏輯模型:描述客觀世界的狀態(tài)與規(guī)律,包括常用的決策樹與決策表。計(jì)算機(jī)模擬模型:利用計(jì)算機(jī)大量、高速處理信息的能力,在計(jì)算機(jī)內(nèi)設(shè)置一定的環(huán)境,以程序來(lái)實(shí)現(xiàn)客觀系統(tǒng)中某些規(guī)律或規(guī)則,在二者的基礎(chǔ)上計(jì)算機(jī)高速運(yùn)行,以便觀察客觀系統(tǒng)的運(yùn)行。 信息庫(kù)是一個(gè)包羅萬(wàn)象的,隨著開發(fā)項(xiàng)目進(jìn)展而不斷修改與補(bǔ)充的信息集合。數(shù)據(jù)庫(kù)是在文件系統(tǒng)基礎(chǔ)上發(fā)展起來(lái)的一種管理技術(shù),重點(diǎn)在于合理地組織數(shù)據(jù),減少冗余;數(shù)據(jù)倉(cāng)庫(kù)是為了使數(shù)據(jù)更接近實(shí)用,對(duì)數(shù)據(jù)進(jìn)行多次加工或提煉,得出許多派生或綜合
15、的數(shù)據(jù)。區(qū)別與特點(diǎn):它在規(guī)模上不一定像數(shù)據(jù)倉(cāng)庫(kù)那么大,分析提煉的要求也與數(shù)據(jù)倉(cāng)庫(kù)不同,但數(shù)據(jù)結(jié)構(gòu)復(fù)雜,不斷變化,分析的要求也不同,還需要保持一致性,需要供分析人員、程序員、用戶、維護(hù)售貨員等多種人員使用。 人機(jī)界面交互原則:輸入盡量自然,輸出必須準(zhǔn)確;界面必須始終一致;界面必須使用戶隨時(shí)掌握任務(wù)的進(jìn)展善;界面必須提供幫助;寧可讓程序多做,不可讓用戶多干。重要性:對(duì)于用戶來(lái)說(shuō),界面就是系統(tǒng)本身。因?yàn)橛脩糁魂P(guān)心能否有效地使用軟件來(lái)解決問(wèn)題,用戶對(duì)軟件功能的理解都在界面上表現(xiàn)出來(lái),用戶的輸入是否自然、簡(jiǎn)便,是否有充分的提示和幫助,對(duì)用戶的錯(cuò)誤是否有友好的措施,輸出的形式是否易于理解,結(jié)果是否正確,都
16、是用戶關(guān)心的問(wèn)題,也是界面的特點(diǎn),界面不友好的軟件就不是成功的軟件。面向?qū)ο笫且环N對(duì)現(xiàn)實(shí)世界理解和抽象的方法,是計(jì)算機(jī)編程技術(shù)發(fā)展到一定階段后的產(chǎn)物。早期的計(jì)算機(jī)編程是基于面向過(guò)程的方法,例如實(shí)現(xiàn)算術(shù)運(yùn)算1+1+2 = 4,通過(guò)設(shè)計(jì)一個(gè)算法就可以解決當(dāng)時(shí)的問(wèn)題。隨著計(jì)算機(jī)技術(shù)的不斷提高,計(jì)算機(jī)被用于解決越來(lái)越復(fù)雜的問(wèn)題。一切事物皆對(duì)象,通過(guò)面向?qū)ο蟮姆绞?,將現(xiàn)實(shí)世界的事物抽象成對(duì)象,現(xiàn)實(shí)世界中的關(guān)系抽象成類、HYPERLINK /view/125322.htm繼承,幫助人們實(shí)現(xiàn)對(duì)現(xiàn)實(shí)世界的HYPERLINK /view/5293.htm抽象與數(shù)字建模。通過(guò)面向?qū)ο蟮姆椒ǎ谟萌死斫獾姆绞綄?duì)
17、復(fù)雜系統(tǒng)進(jìn)行分析、設(shè)計(jì)與編程。同時(shí),面向?qū)ο竽苡行岣逪YPERLINK /view/3281.htm編程的效率,通過(guò)封裝技術(shù),消息機(jī)制可以像搭積木的一樣快速開發(fā)出一個(gè)全新的系統(tǒng)。面向?qū)ο笫侵敢环N程序設(shè)計(jì)范型,同時(shí)也是一種程序開發(fā)的方法。對(duì)象指的是HYPERLINK /view/2390.htm類的集合。它將HYPERLINK /view/2387.htm對(duì)象作為HYPERLINK /view/17674.htm程序的基本單元,將程序和HYPERLINK /view/38752.htm數(shù)據(jù)HYPERLINK /view/154910.htm封裝其中,以提高軟件的重用性、靈活性和擴(kuò)展性。2.2
18、技術(shù)基礎(chǔ)此應(yīng)用用到的技術(shù)主要包括兩方面:OC語(yǔ)言和Xcode開發(fā)環(huán)境。OC語(yǔ)言是一門面向?qū)ο蟮拈_發(fā)語(yǔ)言,它是一門非?!皩?shí)際”的語(yǔ)言。它使用一個(gè)用C寫成、很小的HYPERLINK /view/1032404.htm運(yùn)行庫(kù),只會(huì)令HYPERLINK /view/330120.htm應(yīng)用程序的大小增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時(shí)間會(huì)取代了整個(gè)系統(tǒng)的運(yùn)作相反,ObjC寫成的程序通常不會(huì)比其原始碼大很多。而其函式庫(kù)也和HYPERLINK /view/76337.htmSmalltalk系統(tǒng)要使用極大的內(nèi)存來(lái)開啟一個(gè)窗口的情況相反。Objective-C的最初版本并不支持HYPERLINK
19、/view/159846.htm垃圾回收。在當(dāng)時(shí)這是爭(zhēng)論的焦點(diǎn)之一,很多人考慮到Smalltalk回收時(shí)有漫長(zhǎng)的“HYPERLINK /view/300354.htm死亡時(shí)間”,令整個(gè)系統(tǒng)失去功用。Objective-C為避免此問(wèn)題才不擁有這個(gè)功能。雖然某些第三方版本已加入這個(gè)功能(尤是GNUstep),HYPERLINK /view/14874.htmApple在其Mac OS X 10.3中仍未引入這個(gè)功能。另一個(gè)問(wèn)題是ObjC不包括命名空間機(jī)制(namespace mechanism)。取而代之的是HYPERLINK /view/170222.htm程序設(shè)計(jì)師必須在其類別名稱加上前綴,時(shí)
20、常引致沖突。在2004年,在Cocoa編程環(huán)境中,所有Mac OS X類別和函式均有“NS”作為前綴,例如NSObject或NSButton來(lái)清楚分辨它們屬于Mac OS X核心;使用“NS”是由于這些類別的名稱在NeXTSTEP開發(fā)時(shí)定下。雖然Objective-C是C的母集,但它也不視C的基本型別為第一級(jí)的對(duì)象。和C+不同,Objective-C不支援運(yùn)算子多載(它不支持ad-hoc多型)。亦與C+不同,但和Java相同,Objective-C只容許對(duì)象繼承一個(gè)類別(不設(shè)HYPERLINK /view/459327.htm多重繼承)。Categories和protocols不但可以提供很多
21、多重繼承的好處,而且沒有很多缺點(diǎn),例如額外執(zhí)行時(shí)間過(guò)重和二進(jìn)制不兼容。Xcode是蘋果公司在Mac OS X下的集成開發(fā)環(huán)境(IDE)引擎。它負(fù)責(zé)處理從最開始到工程的最終部署這一過(guò)程中的大多數(shù)細(xì)節(jié)。您可以通過(guò)這個(gè)工具來(lái)完成如下工作:(1)創(chuàng)建和管理工程,包括指定目標(biāo)的需求、依賴性、和連編的風(fēng)格。(2)在具有語(yǔ)法染色、自動(dòng)縮進(jìn)等功能的編輯器上編寫源代碼。(3)在工程的不同組件中進(jìn)行漫游和檢索,包括頭文件和文檔。(4)連編工程在圖形化的源代碼級(jí)調(diào)試器上調(diào)試工程。Xcode可以連編由C、C+、Objective-C、Objective-C+、和Java編寫的源代碼組成的工程,可以生成Mac OS X
22、支持的所有類型的執(zhí)行代碼,包括命令行工具、框架、插件、內(nèi)核擴(kuò)展、程序包、和應(yīng)用程序。Xcode允許您對(duì)連編和調(diào)試工具、可執(zhí)行文件的打包方式(包括信息屬性列表和本地化程序包)、連編過(guò)程(包括拷貝文件、腳本文件處理、和其它連編階段)、以及用戶界面(包括分立和多視圖的代碼編輯器)進(jìn)行幾乎無(wú)限的定制;還支持幾個(gè)源代碼管理系統(tǒng)(其中有CVS和Perforce),使您可以將文件追加到代碼庫(kù)、提交修改、獲取更新版本、以及進(jìn)行版本的比較。Xcode和另外一個(gè)主要的開發(fā)工具Interface Builder良好地集成在一起。在Interface Builder中,您可以定義一個(gè)類(包括超類,插座變量,和動(dòng)作),
23、并為工程中的每個(gè)類生成源代碼文件的框架。在Xcode中,您可以為定制類添加插座變量和動(dòng)作,然后讓Interface Builder將這些實(shí)體導(dǎo)入到nib文件中。2.3 iOS系統(tǒng)架構(gòu) iOS是運(yùn)行于iPhone、iPod touch以及iPad設(shè)備的操作系統(tǒng),它管理設(shè)備硬件并為手機(jī)本地應(yīng)用程序的實(shí)現(xiàn)提供基礎(chǔ)技術(shù)。iPhone SDK包含開發(fā)、安裝及行本地應(yīng)用程序所需的工具和接口。本地應(yīng)用程序使用iOS系統(tǒng)框架Objective-C語(yǔ)言進(jìn)行構(gòu)建,并且直接運(yùn)行于iOS 設(shè)備。iOS架構(gòu)和Mac OS的基礎(chǔ)架構(gòu)相似。站在高級(jí)層次來(lái)看,iOS 扮演底層硬件和應(yīng)用程序(顯示在屏幕上的應(yīng)用程序)的中介,應(yīng)
24、用程序不能直接訪問(wèn)硬件,而需要和系統(tǒng)接口進(jìn)行交互,這樣可以防止應(yīng)用程序改變底層硬件。iOS系統(tǒng)框架分為四大層,CocCocoa Touch 層、Media層、Core Service層、Core OS層,底層為所有應(yīng)用程序提供基礎(chǔ)服務(wù),高層則包含一些復(fù)雜巧妙的服務(wù)和技術(shù)。 2.3.1 核心操作系統(tǒng)層 System級(jí)包含kernel環(huán)境、驅(qū)動(dòng)以及操作系統(tǒng)級(jí)別的unix接口。kernel本身負(fù)責(zé)操作系統(tǒng)的每一個(gè)方面:如虛擬內(nèi)存管理、線程、文件系統(tǒng)、網(wǎng)絡(luò)和互聯(lián)通信。在該層的驅(qū)動(dòng)也提供在可獲得的硬件與系統(tǒng)框架之間的接口。為了安全,對(duì)kernel和驅(qū)動(dòng)的存取被限制到一組有限的系統(tǒng)框架和應(yīng)用。2.3.2
25、核心服務(wù)層CoreServices包含應(yīng)用需要的基礎(chǔ)的系統(tǒng)服務(wù)。這些服務(wù)中的核心是CoreFoundation和Foundation框架,定義了所有應(yīng)用使用的基本類型。該層也包含獨(dú)立的技術(shù)來(lái)支持一些其它功能, 例如位置、iCloud、社交媒體和網(wǎng)絡(luò)。Net Servicer主要負(fù)責(zé)網(wǎng)絡(luò)服務(wù),在開發(fā)過(guò)程中,承擔(dān)應(yīng)用程序與服務(wù)器之間連接的角色,有很強(qiáng)的交互性。媒體層包含圖形技術(shù)、音頻技術(shù)和視頻技術(shù),這些技術(shù)相互結(jié)合就可為移動(dòng)設(shè)備帶來(lái)最好的多媒體體驗(yàn),更重要的是,它們讓創(chuàng)建外觀音效俱佳的應(yīng)用程序變得更加容易。您可以使用iOS的高級(jí)框架更快速地創(chuàng)建高級(jí)的圖形和動(dòng)畫,也可以通過(guò)底層框架訪問(wèn)必要的工具,從
26、而以某種特定的方式完成某種任務(wù)。它包括以下這些組件:Multi-Touch Events,Core Motion,Camera,View Hierarchy,Localization,Alerts,Web Views,Image Picker,Multi-Touch Controls。CocoaTouch層包含創(chuàng)建iOS應(yīng)用程序所需的關(guān)鍵框架。上至實(shí)現(xiàn)應(yīng)用程序可視界面,下至與高級(jí)系統(tǒng)服務(wù)交互,都需要該層技術(shù)提供底層基礎(chǔ)。在開發(fā)應(yīng)用程序的時(shí)候,盡可能不要使用更底層的框架,盡可能使用該層的框架。2.3.3 應(yīng)用程序框架編寫應(yīng)用程序項(xiàng)目,都是從Cocoa Touch層開始的,具體來(lái)說(shuō)是從UIKit
27、Framework開始的。iOS常用的SDK框架如下:AddressBook.framework提供訪問(wèn)存儲(chǔ)核心數(shù)據(jù)庫(kù)中用戶聯(lián)系人信息的功能。AddressBook.framework提供一個(gè)用戶界面,用于顯示存儲(chǔ)在地址薄中的聯(lián)系人詳情。AudioUnit.framework提供一個(gè)接口,讓我們的應(yīng)用程序可以對(duì)音頻進(jìn)行處理。AudioToolbox.framework和AVFoundation.framework提供音頻錄制和回放的底層API,同時(shí)也負(fù)責(zé)管理音頻硬件。CFNetwork.framework訪問(wèn)和配置網(wǎng)絡(luò),像HTTP,F(xiàn)TP和Bonjour Services等。CoreFound
28、ation.framework提供抽象的常用數(shù)據(jù)類型,如Unicode、strings、XML、URL等。CoreGraphics.framework提供2D繪制的基于C的API。Foundation.framework提供Object-C的基礎(chǔ)類(像NSObject)、基本數(shù)據(jù)類型和操作系統(tǒng)服務(wù)等。GameKit.framework為游戲提供網(wǎng)絡(luò)功能,點(diǎn)對(duì)點(diǎn)互聯(lián)和游戲中的語(yǔ)音交流。MapKit.framework為應(yīng)用程序提供內(nèi)嵌地圖的接口。MediaPlayer.framework提供視頻播放和音頻的功能。MessageUI.framework提供視圖控制接口用以處理E-mail和短信。O
29、penGLES.framework提供簡(jiǎn)潔而高效的繪制2D和3D圖形的OpenGL API。QuartzCore.framework提供動(dòng)畫特效以及通過(guò)硬件進(jìn)行渲染的能力。StoreKit.framework為應(yīng)用程序提供在程序運(yùn)行中消費(fèi)的支持。SystemConfiguration.framework檢測(cè)當(dāng)前網(wǎng)絡(luò)是否可用和硬件設(shè)備狀態(tài)的能力。2.3.4 Unix內(nèi)核iOS系統(tǒng)同mac系統(tǒng)都是是以Darwin為基礎(chǔ)的,是在有Unix衍生出來(lái)的BSD基礎(chǔ)上開發(fā)出來(lái)適合在移動(dòng)設(shè)備上運(yùn)行的系統(tǒng)。2.3.5 開發(fā)環(huán)境配置需要裝有Mac操作系統(tǒng)的Mac本一臺(tái),有條件的可以配一部蘋果手機(jī)。Xcode 5.
30、0,是ios開發(fā)唯一的工具,Xcode內(nèi)集成大量框架,功能強(qiáng)大,方便易用。3 系統(tǒng)分析與設(shè)計(jì)3.1 需求分析該部分主要介紹各種需求分析,主要包括:技術(shù)條件可行性描述,硬件可行性描述,社會(huì)因素可行性描述,市場(chǎng)因素可行性描述等。具體描述內(nèi)容如下。3.2 系統(tǒng)需求分析本系統(tǒng)是基于iOS平臺(tái)開發(fā)的一款創(chuàng)意生活館系統(tǒng),將要應(yīng)用在iOS移動(dòng)通訊設(shè)備上,能夠盡可能的滿足用戶更方便更快捷的需求,能夠在在任何地方瀏覽商品,選擇商品,購(gòu)買商品,不受地點(diǎn)的限制。創(chuàng)意生活館手機(jī)應(yīng)用客戶端總體的架構(gòu)圖如圖3-1所示。創(chuàng)意生活館創(chuàng)意生活館搜索分類我首頁(yè)搜索分類我首頁(yè)人氣價(jià)格銷量搜索內(nèi)容一級(jí)分類二級(jí)分類人氣價(jià)格銷量搜索內(nèi)容
31、一級(jí)分類二級(jí)分類申請(qǐng)用戶注冊(cè)用戶圖3-1總體架構(gòu)圖 3.3 可行性分析可行性分析主要分析該系統(tǒng)的實(shí)現(xiàn)可行性,主要包括技術(shù)條件可行性,硬件條件可行性,社會(huì)因素可行性,市場(chǎng)因素可行性。3.3.1技術(shù)條件可行性說(shuō)到技術(shù),首先也是最重要的就是開發(fā)語(yǔ)言,IOS應(yīng)用客戶端開發(fā)使用的是Objective-C語(yǔ)言,它是一門面向?qū)ο蟮恼Z(yǔ)言,高效而優(yōu)雅。相對(duì)于其他面向?qū)ο笳Z(yǔ)言它主要有以下幾種特性:1.動(dòng)態(tài)綁定函數(shù)和消息的最根本不同是:函數(shù)和它的參數(shù)是在編譯的時(shí)候已經(jīng)確定下來(lái),但是消息和接收對(duì)象知道程序已經(jīng)在運(yùn)行,消息在傳遞時(shí)才能確定下來(lái)。確切的消息方法實(shí)現(xiàn)依賴于消息的接收者,不同的接收者可能有相同的方法名不同的方
32、法實(shí)現(xiàn),只有在消息接收時(shí)才能確定(動(dòng)態(tài)類型),通過(guò)源代碼的類型定義并不能完全確認(rèn)接收者的類型。運(yùn)行時(shí)消息例程查找接收者和消息方法,找到消息方法實(shí)現(xiàn)的機(jī)器碼,呼叫這個(gè)方法,傳遞給它消息實(shí)例變量指針。2.類別Objective-C 的標(biāo)準(zhǔn)的類聲明,使用interface 關(guān)鍵字。但類別與類聲明區(qū)別的是在括號(hào)中聲明了一個(gè)類別名字。類別能為任何類添加類別,包括不知道源代碼的類(例如標(biāo)準(zhǔn)的Cocoa Touch 類等)。已聲明類別的類,類及其子類的所有實(shí)例都可以使用聲明在類別中的方法,在運(yùn)行時(shí),通過(guò)類別為類添加的方法與類本身的方法沒有任何區(qū)別。類別也通常在頭文件中進(jìn)行聲明,在分離的源文件中進(jìn)行類別方法的
33、實(shí)現(xiàn)。為了使用為類添加的類別,需要在使用的地方輸入聲明類別的頭文件。類別可以作為一種設(shè)計(jì)模式使用,用來(lái)使用類別把一個(gè)實(shí)現(xiàn)復(fù)雜的類分離為幾個(gè)實(shí)現(xiàn)文件。也可以為不同的平臺(tái)提供不同的類別實(shí)現(xiàn)方法。類別用來(lái)聲明實(shí)例方法或類方法,但不適合聲明額外的屬性。在一個(gè)類別接口中聲明一個(gè)屬性是有效的,但在類別中聲明一個(gè)額外的實(shí)例變量是不可能的,這意味者編譯器不能夠生成任何實(shí)例變量,也不能夠生成任何屬性存取方法。但你能夠在類別實(shí)現(xiàn)中實(shí)現(xiàn)自己的屬性存取方法,但你不能夠保持和跟蹤一個(gè)屬性值,除非它已經(jīng)在原先的類中存儲(chǔ)。另外需要注意的是類別中定義的方法名字不能與該類已有的方法或?yàn)樵擃悾ɑ蚱涑悾┒x的其它類別中的方法沖突
34、。3.協(xié)議在Objective-C中,每個(gè)類都都對(duì)外提供自己的接口,類包括接口聲明和類實(shí)現(xiàn)。而沒有像其它語(yǔ)言(如java)那樣,接口與類定義是獨(dú)立的,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。但在Objective-C中協(xié)議可以起到類似的作用,協(xié)議用來(lái)聲明與任何特定的類獨(dú)立的方法,如果一個(gè)類聲明符合某種協(xié)議,則其實(shí)現(xiàn)中必須實(shí)現(xiàn)協(xié)議中聲明的方法,但與其它語(yǔ)言接口定義不同的是在協(xié)議中不僅能聲明對(duì)象方法,還能聲明類方法以及屬性。 4.繼承性與C+不同的是,OC中繼承只能是單繼承,不存在多繼承,這為開發(fā)者省去了復(fù)雜的繼承模式。要實(shí)現(xiàn)多繼承的效果,可以使用類別。繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了
35、一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過(guò)程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。在Objective-c中所有的類都是繼承NSObject的,因?yàn)镹SObject有一些基本的方法。類的繼承關(guān)系圖3-2所示:NSObjectNSObjectUIResponderUIScreenUIWindowUIViewUILabelUIScrowViewUITextViewUITableView圖3-2類的繼承關(guān)系圖5.開發(fā)工具:
36、xcode 5.0。6.操作系統(tǒng):mac 10.8操作系統(tǒng)。3.3.2硬件條件可行性硬件方面只需要一臺(tái)裝有mac系統(tǒng)的mac本即可。有條件的可以配一部Apple移動(dòng)設(shè)備。3.3.3社會(huì)因素可行性如今社會(huì)發(fā)展迅速,人們對(duì)應(yīng)用的要求越來(lái)越高,移動(dòng)購(gòu)物市場(chǎng)已具有一定的規(guī)模而且還將繼續(xù)擴(kuò)大,伴隨消費(fèi)者移動(dòng)設(shè)備使 用目的的轉(zhuǎn)變,不再只局限于看視頻、刷微博、看電子書、聽音樂(lè)等形式,移動(dòng)購(gòu)物開始挑戰(zhàn)傳統(tǒng)購(gòu)物和PC購(gòu)物模式,成為各大電商力捧的新盈利點(diǎn)。 今年5月1日當(dāng)天,天貓無(wú)線端成交額增達(dá)到53.8%,首次超過(guò)PC端成交額。而5月2 日-5月3日,天貓無(wú)線日均支付寶成交占天貓總成交比也達(dá)到49.8%,追平P
37、C端成交量。這說(shuō)明人們的線上生活正在從pc端逐漸轉(zhuǎn)向移動(dòng)端,這是移動(dòng)互聯(lián)網(wǎng)帶來(lái)的巨大機(jī)遇。 移動(dòng)app的數(shù)量增長(zhǎng)也在于移動(dòng)設(shè)備的便捷,操作方便,界面簡(jiǎn)單親切。在每一個(gè)垂直領(lǐng)域內(nèi),app能夠快速幫助人們實(shí)現(xiàn)想要做的事情,資訊,社交聊天,訂票,當(dāng)然少不了購(gòu)物。傳統(tǒng)的pc端,人們只能靠瀏覽器打開網(wǎng)頁(yè),在網(wǎng)站上購(gòu)物,網(wǎng)站上信息量龐大繁雜,不容易找到自己想要的商品。而移動(dòng)端購(gòu)物客戶端的出現(xiàn),可以幫助人們快速找到自己想要的商品,并快捷安全地完成支付功能。3.3.4市場(chǎng)因素可行性近幾年隨著蘋果手機(jī)的熱賣,智能手機(jī)終端越來(lái)越普及;結(jié)合3G網(wǎng)絡(luò)的大力發(fā)展,移動(dòng)互聯(lián)的時(shí)代已經(jīng)正式到來(lái)。此次把生活創(chuàng)意館系統(tǒng)搬到iO
38、S手機(jī)操作系統(tǒng)上,是對(duì)移動(dòng)開發(fā)的一次簡(jiǎn)單嘗試。寄希望于此次嘗試能夠熟悉iOS移動(dòng)平臺(tái)的開發(fā),綜合自己所學(xué)知識(shí),運(yùn)用到這個(gè)項(xiàng)目中來(lái),同時(shí)期待自己有所突破和創(chuàng)新,最后能夠積累一定的移動(dòng)開發(fā)經(jīng)驗(yàn)。此次我把這些知識(shí)和信息在iOS手機(jī)平臺(tái)上展示出來(lái),在如今智能機(jī)逐漸普及的基礎(chǔ)上將會(huì)是一個(gè)新的空間。3.4總體設(shè)計(jì)此應(yīng)用主要由四個(gè)大模塊組成,首先最底層的是一個(gè)自定義的UITabBarController,它管理了4個(gè)UINavigationController,每一個(gè)導(dǎo)航控制器又管理了自己的子視圖控制器.子視圖控制器中又有自己的自視圖控制器,且相互之間可以跳轉(zhuǎn)。另外該系統(tǒng)是遵循mvc模式,使用新出的ARC內(nèi)
39、存管理方式??刂破鬟B接視圖和數(shù)據(jù)模型,處理主要邏輯,例如,請(qǐng)求服務(wù)器取得數(shù)據(jù),解析存到數(shù)據(jù)模型里,并將數(shù)據(jù)模型傳給視圖,視圖只處理跟自己顯示有關(guān)的具體邏輯。該系統(tǒng)的體系結(jié)構(gòu)如圖3-3所示。ShoppingCarViewControllerShoppingCarViewControllerParentViewControllerParentViewControllerHomePageViewControllerHomePageViewControllerSearchViewController 控制器SearchViewController 控制器CategoryViewControllerCa
40、tegoryViewControllerIViewControllerIViewControllerUITableviewUITableview視圖視圖UIWebViewUIWebView ClassificationModel ClassificationModel模型模型 HomePageModel HomePageModel圖3-3體系結(jié)構(gòu)圖3.5詳細(xì)設(shè)計(jì)1.主頁(yè)模塊流程圖,此界面主要顯示推薦的一些創(chuàng)意商品,列表主要顯示商品的基本信息,選擇每個(gè)商品可以進(jìn)入對(duì)應(yīng)商品詳情界面。首頁(yè)首頁(yè) 選擇某商品商品詳情購(gòu)物圖3-4首頁(yè)流程圖2.分類模塊流程圖,此模塊分為一級(jí)分類和二級(jí)分類, 一級(jí)分類一級(jí)分
41、類 選擇分類 二級(jí)類別商品詳情圖3.5專題流程圖搜索模塊流程圖,點(diǎn)擊搜索導(dǎo)航,進(jìn)入搜索界面,顯示一個(gè)搜索條,支持關(guān)鍵字搜索,但不支持模糊搜索。輸入關(guān)鍵字,顯示出相應(yīng)的要搜索的內(nèi)容。如圖3-6所示搜索條搜索條 輸入搜索內(nèi)容商品列表 圖3-6 搜索模塊流程圖4.我模塊主要是登陸自己的賬戶,在賬戶在線的情況下實(shí)現(xiàn)購(gòu)物,其流程如圖3-7所示。選擇注冊(cè)登錄選擇注冊(cè)登錄 我 注冊(cè)注冊(cè)成功并登錄檢查是否 注冊(cè)處 登錄注冊(cè)成功并登錄檢查用戶名與密碼是否一致 否 否 是 是 圖3-7我流程圖4 系統(tǒng)實(shí)現(xiàn)4.1 代碼結(jié)構(gòu)的實(shí)現(xiàn)該系統(tǒng)主要由四個(gè)基本界面組成,代碼結(jié)構(gòu)如下:本系統(tǒng)采用MVC設(shè)計(jì)模式,M是model,建
42、立的數(shù)據(jù)模型;V是View,是每個(gè)model所對(duì)應(yīng)View來(lái)顯示內(nèi)容;C是Controller,controller是視圖的控制器。系統(tǒng)在實(shí)現(xiàn)時(shí)用到的這四個(gè)方面主要內(nèi)容如下:1、模型Model:ClassifictionNodeModelHomePageModel2、視圖View:ClassCellResultCellMenuClassifyCellHomePageCell3、控制器Controller:RootViewControllerSubjectViewControllerCategoryViewContrpollerSearchControllerIViewControllerPar
43、entViewController4、第三方庫(kù):Hash:用于加密數(shù)據(jù)的第三方庫(kù)。Fmdb:數(shù)據(jù)庫(kù)第三方庫(kù)。EGOTableViewPullRefresh:下拉刷新的第三方庫(kù)。AS3DpuuRefresh:下拉刷新的第三方庫(kù)。ASIHttpRequest:網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)的第三方庫(kù)。SDWebImage:網(wǎng)絡(luò)解析圖片的第三方庫(kù)。4.2 各模塊代碼的實(shí)現(xiàn)主頁(yè)模塊:此界面主要向用戶展示推薦的生活創(chuàng)意產(chǎn)品,首先向后臺(tái)服務(wù)器請(qǐng)求數(shù)據(jù),http請(qǐng)求方式為get請(qǐng)求方式。請(qǐng)求成功后,服務(wù)器返回json數(shù)據(jù),解析之后顯示在頁(yè)面上,同時(shí)將數(shù)據(jù)存本地?cái)?shù)據(jù)庫(kù)。用到的技術(shù)點(diǎn)有:網(wǎng)絡(luò)請(qǐng)求使用ASI庫(kù),解析json數(shù)據(jù)使用
44、SBJson,顯示數(shù)據(jù)使用UITableView,存數(shù)據(jù)庫(kù)使用FMDB。主要代碼如下: interface HomepageViewController () DetailListTableView *_tableView; /頭置UIView UIView *_headerView; / NSArray *imagesNormal; / NSArray *imagesSelect;endimplementation HomepageViewController- (void)viewDidLoad super viewDidLoad; self.navigationTitle = 創(chuàng)意生活;
45、 self setNavigationBarRightButtonWithTitleName:篩選 target:self action:selector(chooseClicked); imagesNormal = NSArray alloc initWithObjects:btn_價(jià)格_點(diǎn)擊前.png,btn_銷量_點(diǎn)擊前.png,btn_人氣_點(diǎn)擊前.png,nil; imagesSelect = NSArray alloc initWithObjects:btn_價(jià)格_點(diǎn)擊后.png,btn_銷量_點(diǎn)擊后.png,btn_人氣_點(diǎn)擊后.png,nil; self createHeade
46、rView; self createTableView; HttpRequest requestWithUrlSting:HomePageUrlString target:self aciton:selector(requestFinished:);分類模塊:此頁(yè)面主要根據(jù)各個(gè)分類顯示商品信息,包括兩級(jí)分類。數(shù)據(jù)模型主要由一個(gè)二維數(shù)組實(shí)現(xiàn),同樣數(shù)據(jù)從后臺(tái)服務(wù)器取得。主要代碼如下:interface SearchViewController () ResultListTableView * _tableView; UIView * _searchView; UITextField * _sear
47、chTextField;endimplementation SearchViewController- (void)viewDidLoad super viewDidLoad;self.navigationTitle = 搜索; self createBackgroundImageView; self createSearchView; self createTableView;搜素模塊代碼如下:搜索模塊實(shí)現(xiàn)的功能是,用戶輸入想要搜索的商品,之后請(qǐng)求服務(wù)器返回符合條件的商品列表信息,最后顯示到頁(yè)面上。商品點(diǎn)擊進(jìn)入購(gòu)買頁(yè)。主要技術(shù)點(diǎn)為請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù)及顯示商品列表。interface Categor
48、yViewController () NSMutableArray * _classDataArray; UITableView * _tableView;endimplementation CategoryViewController- (void)viewDidLoad super viewDidLoad;self.navigationTitle = 分類; _classDataArray = NSMutableArray alloc init; self setBackground; self startLoadData; self createTableView;我代模塊碼如下:此界面
49、負(fù)責(zé)用戶的注冊(cè)和登錄功能,實(shí)現(xiàn)方法是加載Web頁(yè),調(diào)用淘寶官方注冊(cè)登錄界面。難點(diǎn)為web頁(yè)的加載。interface IViewController () UIWebView * _myWebView;endimplementation IViewController- (void)viewDidLoad super viewDidLoad;self.navigationTitle = 我的; self createWebView;4.3 各模塊功能的實(shí)現(xiàn)1.第一個(gè)模塊是主頁(yè)模塊,主頁(yè)模塊中又包含幾個(gè)子模塊。該頁(yè)面主要為用戶提供一些推薦的商品。首先該頁(yè)面的數(shù)據(jù)是從后臺(tái)服務(wù)器獲得,http請(qǐng)求方
50、式為get方法,服務(wù)器數(shù)據(jù)的返回格式是json格式。代碼實(shí)現(xiàn)里用第三方庫(kù)ASI請(qǐng)求數(shù)據(jù),返回?cái)?shù)據(jù)用SBJSon解析。本頁(yè)數(shù)據(jù)會(huì)存本地?cái)?shù)據(jù)庫(kù)sqlite,方便下次打開頁(yè)面或沒有網(wǎng)絡(luò)時(shí)可以正常很快地顯示數(shù)據(jù)。UI界面用ios框架UIKiit里的UITableView實(shí)現(xiàn)??梢院芎每焖俚仫@示數(shù)據(jù)。另外,該頁(yè)面具有篩選功能,可以分別選擇價(jià)格、銷量、人氣來(lái)展示不同的數(shù)據(jù)。該頁(yè)面的每個(gè)商品元素都可以點(diǎn)擊進(jìn)入到對(duì)應(yīng)的詳情頁(yè),改詳情頁(yè)是web頁(yè)面,使用WebView實(shí)現(xiàn)。設(shè)計(jì)成品圖如圖4-1所示 圖4-1主頁(yè)模塊圖2.第二個(gè)模塊是分類模塊,通過(guò)此頁(yè)面用戶可以方便地根據(jù)分類來(lái)搜索到自己感興趣的商品,同樣,頁(yè)面用
51、UITableView展示,每個(gè)cell是某一類,點(diǎn)擊之后可以進(jìn)入到子頁(yè)面,子頁(yè)面將顯示該類的商品列表,子頁(yè)面同主頁(yè)面。另外,在該頁(yè)面中,用戶可以點(diǎn)擊右上角的分類,在頁(yè)面的的左邊彈出分類信息,用戶可以切換類別,瀏覽其他分類商品。設(shè)計(jì)成品圖如圖4-2所示 圖4-2分類模塊圖3、搜索模塊。在這個(gè)頁(yè)面,用戶可以輸入想要搜索的商品,界面將返回符合搜索條件的商品。用戶可以快速找到自己想要的商品。如圖4-3所示 圖4-3搜索模塊圖4.第四個(gè)模塊是我模塊登陸賬戶和密碼進(jìn)入,可進(jìn)行相關(guān)操作,完成圖如圖4-4所示 圖4-4個(gè)人模塊圖5 總結(jié)本課題由于采用的是純軟件開發(fā)系統(tǒng),采用的系統(tǒng)又是很封閉的IOS系統(tǒng)而且對(duì)
52、界面要求和內(nèi)存管理比較嚴(yán)格,故我有如下總結(jié):(1)UI界面要符合iphone一貫的風(fēng)格,動(dòng)畫要流暢,對(duì)于怎么設(shè)計(jì)可以隨意發(fā)揮自己想象。(2)內(nèi)存管理要注意,自己創(chuàng)建的對(duì)象要自己管理好自己的內(nèi)存,不要造成內(nèi)存過(guò)度釋放或者內(nèi)存泄漏而造成程序崩潰。(3)注意設(shè)計(jì)的算法,一本小說(shuō)很長(zhǎng)需要分割字符串,要確定怎么樣分割,然后要計(jì)算滿屏的字?jǐn)?shù),和下一頁(yè)的,這樣需要謹(jǐn)慎考慮和設(shè)計(jì)。(4)注意oc語(yǔ)言的風(fēng)格和程序的美觀性。(5)要熟練掌握Xib設(shè)計(jì)控件和代碼寫控件。(6)要有嚴(yán)謹(jǐn)?shù)倪壿嬎季S能力和不斷嘗試的創(chuàng)新能力??傊@次畢業(yè)設(shè)計(jì)給我很大鼓勵(lì)和信心,我完成的不僅僅是一課題更加是對(duì)新東西的一種挑戰(zhàn),我對(duì)學(xué)過(guò)的書本
53、知識(shí)有了更深的理解,同時(shí)也學(xué)到了許多書本上學(xué)不到的知識(shí)。另外,我在工程應(yīng)用、獨(dú)立分析解決問(wèn)題、科技論文寫作等能力方面有了一定的提高,也了解了工程項(xiàng)目開發(fā)的基本思路和方法。畢業(yè)設(shè)計(jì)是將平時(shí)所學(xué)的專業(yè)知識(shí)同實(shí)踐相結(jié)合的產(chǎn)物。在這次畢業(yè)設(shè)計(jì)中,我重新復(fù)習(xí)了相關(guān)的專業(yè)知識(shí),同時(shí)也查閱了大量的資料,對(duì)C語(yǔ)言、數(shù)據(jù)庫(kù)、oc語(yǔ)言、UI界面等基礎(chǔ)知識(shí)的重要性有了新的了解,這也為我以后的學(xué)習(xí)和工作指明了方向。致謝轉(zhuǎn)眼間即將畢業(yè)了,在這個(gè)時(shí)刻總會(huì)有一些不舍,一是自己學(xué)到的東西太少,對(duì)比以后將邊工作邊自我學(xué)習(xí)的日子,很懷念這樣全日制學(xué)習(xí)的時(shí)刻;二是這里有很多我們敬愛的老師和可愛的同學(xué)們。畢業(yè)設(shè)計(jì)成為了大學(xué)階段最后的
54、學(xué)習(xí)標(biāo)記,同時(shí)也是檢驗(yàn)自我、增長(zhǎng)經(jīng)驗(yàn)的難得機(jī)會(huì)與體驗(yàn)。在完成畢業(yè)設(shè)計(jì)的過(guò)程中,每一次成功和進(jìn)步都是寶貴的財(cái)富。只有自己從頭到尾從選題、設(shè)計(jì)、查找資料、逐步完成,一步一步走過(guò)來(lái),才能切實(shí)發(fā)現(xiàn)自己的不足。而每次遇到困難,想辦法自我攻克難題,才有長(zhǎng)足的進(jìn)步。這次畢業(yè)設(shè)計(jì)使我能夠靜下心來(lái),集中注意力工作,逐漸讓我養(yǎng)成了良好的面對(duì)錯(cuò)誤的心態(tài)和編寫程序的習(xí)慣,受益匪淺。同時(shí)漸漸掌握了自己的一套編寫代碼,改正錯(cuò)誤的流程,成長(zhǎng)很大。第三是端正了自己的心態(tài),認(rèn)識(shí)到自己的不足,同時(shí)有信心能夠做得更好。在此特別感謝一下馮老師對(duì)我悉心的指導(dǎo),感謝老師給我的幫助和很多建議。參考文獻(xiàn)1 王志剛.編著應(yīng)用程序開發(fā)攻略之iP
55、hone特色傳感器應(yīng)用M.北京:電子工業(yè)出版社,2011:2. 2 Gene Backlin(美)著.岳紅 凌沖譯.iPhone&iPad高級(jí)編程M.北京:清華大學(xué)出版社,2012:1.3 Wei-Meng Lee(美)著.張龍譯.IOS 4編程入門經(jīng)典M.北京:清華大學(xué)出版社,2012:1.4 虞斌著. Ios軟件開發(fā)揭秘:iPhone&iPad企業(yè)應(yīng)用和游戲開發(fā)M.北京:電子工業(yè)出版社,2011:1.5 克萊爾(美)著.李強(qiáng)譯.Objective-C2.0Mac和ios開發(fā)實(shí)踐指南M.北京:機(jī)械工業(yè)出版社,2011:1. 6 Brian W.Kernighan ,Deninis M Rir
56、chie(美)著,徐寶文,李志(譯)The C Programming LanguageM.北京:機(jī)械工業(yè)出版社2003:2.7 徐松林,黃猛著.cocos2D-x手機(jī)游戲開發(fā)M.北京:人民郵電出版社.8 Ron patton(美)著.王鈺,曹躍譯.軟件測(cè)試M.北京:機(jī)械工業(yè)出版社,2006:4.9 王水著.軟件工程M.河南:河南科學(xué)技術(shù)出版社,2008:8.10 吳潔明著.軟件工程實(shí)例教程M.北京:清華大學(xué)出版社,2010:11.11 郭東恩著.數(shù)據(jù)庫(kù)原理及應(yīng)用M.河南:河南科學(xué)技術(shù)出版社,2008:4.12 Dan Pilone著.Head First iPhone Development
57、M.北京:東南大學(xué)出版社,2012:1.13 薩丹著.iPhone開發(fā)秘籍M.北京:人民郵電出版社,2010:1.14 喬納森(美)著.AppStore掘金M.北京:人民郵電出版社,2010:1.15 哈靈頓(美)著.iOS 4實(shí)戰(zhàn)M.北京:人民郵電出版社,2012:1. 附錄該附錄附帶各頁(yè)面主要代碼,如下:1.主頁(yè)界面:-(void)createTableView NSInteger height = 0; if (DeviceManager isiOS7Version = YES) height = 64; _tableView = DetailListTableView alloc in
58、itWithFrame:CGRectMake(0,0, 320, DeviceManager currentDeviceScreenHeight-height-49);/ _tableView.showsHorizontalScrollIndicator = NO;/ _tableView.showsVerticalScrollIndicator = NO; _tableView.navController = self.navigationController; self.view addSubview:_tableView;- (void)createHeaderView _headerV
59、iew = UIView alloc initWithFrame:CGRectMake(0, -44, 320, 44); self.view addSubview:_headerView; NSArray *names = NSArray alloc initWithObjects:價(jià)格,銷量,人氣,nil; NSInteger spaceWeidth = (UIScreen mainScreen.bounds.size.width - 40 - 160)/2; NSInteger height = 30; for (int i = 0; i 0) for (int i = 0; i _ta
60、bleView.dataArray.count-1; i+) for (int j = 0; j (HomePageModel *)_tableView.dataArray objectAtIndex:j+1).feedGoodCegerValue) _tableView.dataArray exchangeObjectAtIndex:j withObjectAtIndex:j+1; /NSLog(人氣:%,(HomePageModel *)_tableView.dataArray objectAtIndex:j).feedGoodCount); _tableView reloadData;/
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農(nóng)業(yè)無(wú)人機(jī)飛防操作規(guī)范
- 非標(biāo)設(shè)備改造加裝施工手冊(cè)
- 2026貴州貴陽(yáng)城市綜合發(fā)展有限公司招聘3人備考題庫(kù)帶答案詳解
- 3第三章 廣告文案的訴求方式
- 課件的優(yōu)勢(shì)與應(yīng)用
- 職業(yè)再評(píng)估與崗位調(diào)整建議
- 職業(yè)健康風(fēng)險(xiǎn)評(píng)估方法學(xué)在化工行業(yè)中的本土化實(shí)踐
- 北海事業(yè)單位招聘2022年考試模擬試題及答案解析5
- 職業(yè)健康促進(jìn)與職業(yè)健康應(yīng)急體系
- 職業(yè)健康與心理健康的整合管理路徑
- 審計(jì)數(shù)據(jù)管理辦法
- 建筑設(shè)計(jì)防火規(guī)范-實(shí)施指南
- 口腔修復(fù)臨床病例
- 乙狀結(jié)腸冗長(zhǎng)護(hù)理查房
- 2025年廣西中考英語(yǔ)試卷真題(含答案解析)+聽力音頻
- 短文魯迅閱讀題目及答案
- DB34T 5137-2025電化學(xué)儲(chǔ)能液冷系統(tǒng)設(shè)計(jì)技術(shù)要求
- 高碳鉻鐵生產(chǎn)流程
- 單純皰疹病毒性角膜炎
- 2025漂浮式海上風(fēng)電場(chǎng)工程可行性研究報(bào)告編制規(guī)程
- 妊娠期糖尿病管理知識(shí)試題及答案
評(píng)論
0/150
提交評(píng)論