欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      ios轉(zhuǎn)正申請書

      時間:2019-05-14 13:03:13下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《ios轉(zhuǎn)正申請書》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《ios轉(zhuǎn)正申請書》。

      第一篇:ios轉(zhuǎn)正申請書

      ios轉(zhuǎn)正申請書

      尊敬的領(lǐng)導:

      我于XX年7月4日進入公司,根據(jù)公司的需要,加入了XXX部,加入了XXX項目組,目前擔任java程序員一職。到今天2個月試用期已滿,根據(jù)公司的規(guī)章制度,現(xiàn)申請轉(zhuǎn)為公司正式員工。

      軟件開發(fā)是我大學以來的志向,公司給了我這個機會,讓我的夢想得以實現(xiàn),這也是我職業(yè)生涯的一個起點,我十分珍惜。初到公司我曾擔心自己不知道該怎么與項目組的同事溝通,擔心不知道怎么做好工作,但是項目組的前輩們都很親切,也很耐心的教導我,解答我的疑問,以及他們團結(jié)向上的精神,讓我很快的熟悉了工作,融入了項目組。通過兩個月的不斷學習,在項目開發(fā)中的不斷鍛煉以及同事、領(lǐng)導的幫助,我已逐漸融入這個大家庭,個人的工作技能也有了明顯的提升,雖然仍有不足,但是收獲了不少,我感覺自己成長了,也逐漸成熟了?,F(xiàn)將工作情況簡要總結(jié)如下:

      1.我主要在系統(tǒng)軟件事業(yè)部進行軟件開發(fā)和熟悉公司業(yè)務流程,初來乍到,對公司還有很多不熟悉的地方,但是在領(lǐng)導和同事的耐心指導下,使我在較短的時間內(nèi)適應了公司的工作環(huán)境,也熟悉了公司的部分業(yè)務流程。

      2.熟悉了公司現(xiàn)有項目主要使用的技術(shù)及開發(fā)框架,能迅速上手開發(fā)。

      3.通過參與XXX系統(tǒng)、XXX系統(tǒng)兩個項目的開發(fā),現(xiàn)已能獨立完成領(lǐng)導交付的任務。

      4.項目基本流程、業(yè)務種類,有了相關(guān)的掌握與了解。

      5.按時按量的自己給自己分配當天應當完成的任務,保證項目的進度。在這兩個月的學習和工作中,我一直嚴格要求自己,遵循公司的規(guī)章制度,認真完成領(lǐng)導布置的每一項任務,遇到的問題虛心的向項目組的前輩們學習、請教,不斷的提高、充實自己。開發(fā)過程中出現(xiàn)的一些問題,前輩們會耐心的指出和指導我修改,這些經(jīng)歷讓我不斷成熟,處理問題時考慮得更全面,避免類似情況的再次發(fā)生。在此我要特地感謝部門的領(lǐng)導和同事們對我的指引和幫助,感謝他們對我工作上失誤的提醒和指正。

      經(jīng)過這兩個月,我已經(jīng)能獨立進行開發(fā)任務,按時按質(zhì)的完成分配的工作任務,當然還有許多不足,開發(fā)的經(jīng)驗仍有待提高,編寫代碼的簡潔性和完整性也

      需要進一步增強,需要不斷的繼續(xù)學習以提高自己的工作能力。

      總之,這兩個月來我學到了很多,感悟了很多??吹焦镜难杆侔l(fā)展,看到部門的同事越來越多,我深深地感到驕傲和自豪,也更加迫切的希望以一名正式員工的身份在這里工作,實現(xiàn)自己的奮斗目標,體現(xiàn)自己的人生價值,和公司一起成長。

      在此我提出轉(zhuǎn)正申請,希望自己能成為公司的正式員工,懇請領(lǐng)導給我繼續(xù)鍛煉自己、實現(xiàn)理想的機會。我會用謙虛的態(tài)度和飽滿的熱情做好我的本職工作,為公司創(chuàng)造價值,同公司一起展望美好的未來!

      此致

      敬禮 申請人:XXX XX年9月3日

      尊敬的領(lǐng)導:

      我于XXXX年X月X日進入公司,根據(jù)公司的需要,目前擔任Android軟件工程師 一職,負責 XXX的開發(fā)工作。到今天3個月試用期已滿,根據(jù)公司的規(guī)章制度,現(xiàn)申請轉(zhuǎn)為公司正式員工。軟件開發(fā)是我自幼以來的志向,公司給了我這個工作,讓我的夢想得以實現(xiàn),也是我職業(yè)生涯的一個起點,我十分珍惜。通過三個月的不斷學習,在項目開發(fā)中的不斷鍛煉以及同事、領(lǐng)導的幫助,我已逐漸融入這個大家庭,個人的工作技能也有了明顯的提高,雖然仍有一些不足,但三個月以來我付出了不少,也收獲了不少,我感覺自己成長了,也逐漸成熟了。

      初到公司,加入了XXXX部,加入了 XXXX 項目組,我也曾擔心自己不知道該怎么與項目組的同事溝通,擔心不知道怎么做好工作,但是項目組的前輩們都很親切,也很耐心的教導我,解答我的疑問,以及他們團結(jié)向上的精神,讓我很快的熟悉了工作,融入了項目組。在這三個月的學習和工作中,我一直嚴格要求自己,遵循公司的規(guī)章制度,認真完成領(lǐng)導布置的每一項任務,遇到的問題虛心的向項目組的前輩們學習、請教,不斷的提高、充實自己。開發(fā)過程中出

      現(xiàn)的一些差錯,也有前輩們耐心的指出和指導我修改,這些經(jīng)歷讓我不斷成熟,處理問題時考慮得更全面,杜絕類似情況的發(fā)生。在此我要特地感謝部門的領(lǐng)導和同事們對我的指引和幫助,感謝他們對我工作上失誤的提醒和指正。經(jīng)過這三個月,我已經(jīng)能獨立進行開發(fā)任務,按時按質(zhì)的完成分配的工作任務,當然還有許多不足,開發(fā)的經(jīng)驗仍有待提高,編寫代碼的簡潔性和完整性也需要進一步增強,需要不斷的繼續(xù)學習以提高自己的工作能力。

      總之,這三個月來我學到了很多,感悟了很多;看到公司的迅速發(fā)展,看到部門的同事越來越多,我深深地感到驕傲和自豪,也更加迫切的希望以一名正式員工的身份在這里工作,實現(xiàn)自己的奮斗目標,體現(xiàn)自己的人生價值,和公司一起成長。

      在此我提出轉(zhuǎn)正申請,懇請領(lǐng)導給我繼續(xù)鍛煉自己、實現(xiàn)理想的機會。我會用謙虛的態(tài)度和飽滿的熱情做好我的本職工作,為公司創(chuàng)造價值,同公司一起展望美好的未來!申請人:XX XXXX年X月X日

      第二篇:ios畢業(yè)論文

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      摘 要

      隨著計算機網(wǎng)絡(luò)通信技術(shù)和Internet的飛速發(fā)展,基于因特網(wǎng)的手機移動應用已經(jīng)開始成為一種全新的功能需求,并且越來越受到人們的關(guān)注。由于移動應用具有簡單性,隨時隨地性等諸多特點,因此它有著傳統(tǒng)計算機所無法比擬的優(yōu)點。這樣一來,手機移動應用的開發(fā)工作就顯得尤為重要,開發(fā)出一個集合手機應用的“商店”極為重要,近年來iphone手機在中的發(fā)展趨勢日趨上升,iphone手機保密性很強,很多東西都不對外開放,愛限免手機app就是針對iphone手機而開發(fā)的一款手機應用,日趨擴大的市場也使得應用于iphone手機的app開發(fā)日趨緊迫,可以說愛限免的開發(fā)不僅是客戶的需求更是市場的需求。

      愛限免項目的開發(fā)使用了iphone自己研發(fā)的開發(fā)軟件xcode6.0,主要有UIkit框架和Foundation框架組成。愛限免的項目開發(fā),對數(shù)據(jù)進行展示主要應用列表控制器UIableview,在使用UItableview是對cell的復用是此技術(shù)的難點,主要避免在cell復用是出現(xiàn)內(nèi)存泄露狀況而導致的程序崩潰,數(shù)據(jù)的獲取應用了AFHttpNetWork第三方庫,對網(wǎng)絡(luò)數(shù)據(jù)進行g(shù)et獲取,把獲取的數(shù)據(jù)用數(shù)據(jù)模型接收,這樣有利于降低耦合性,是程序更順暢。在對數(shù)據(jù)保存時用到了FMDB第三方數(shù)據(jù)庫,此數(shù)據(jù)庫的底層也是對squlite的封裝,是開發(fā)者應用起來更順手簡介,提高效率,界面之間的數(shù)據(jù)傳輸難點blcok的應用,這點要求開發(fā)者對block有比較深刻的理解,以及應用熟練度。關(guān)鍵詞:ios,squlite,block,應用,控件

      I

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      Abstract

      With the rapid development of computer network communication technology and the Internet, based on Internet mobile phone application has begun to become a kind of new functional requirements, and people have paid more and more attention.Because of its simplicity, anytime, anywhere, etc., it has the advantages that the traditional computer can't match..In this way, the mobile application development work is particularly important, the development of a collection of mobile application store “is very important, in recent years the iPhone in the development trend is rising day by day, iPhone mobile phone security is very strong, a lot of things are not open to the public, love limit free mobile app is for the iPhone and the development of a mobile application, widening the market also make the application to iPhone app development is becoming more and more urgent, you can love limit free development is not only the needs of customers is the demand of the market

      The development of love limited free project use of iPhone own R & D software xcode6.0, mainly UIkit framework and Foundation framework.Love free for a limited time of project development, the data for display of the main application list controller UIableview, in the use of UItableview is reuse of the cell is the difficulty of this technology, mainly to avoid memory leak condition, which leads to the program crashes in the cell multiplexing and data acquisition application the AFHttpNetWork third-party libraries, the network data to get access to, to get the data model data receiving, which help to reduce coupling is process smoother.In to save the data used in the FMDB database of the third party, the bottom of this database is to squlite package is more comfortable profile application developers, improve efficiency, application of interface between data transmission difficulties blcok, this requires developers to more profound understanding of block, as well as the application of proficiency Keywords: IOS, squlite, block, application, control II

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      目 錄

      摘 要............................................................I 第一章 前 言.....................................................1

      1.1 課題開發(fā)背景................................................1 1.2 愛限免手機app框架設(shè)計開發(fā)的現(xiàn)實意義........................2 1.3 國內(nèi)外研究狀況..............................................2 1.4 論文內(nèi)容和結(jié)構(gòu)..............................................3 第2章 愛限免手機應用開發(fā)技術(shù)簡介.................................5

      2.1 Objective-c簡介.............................................5 2.1.1 ios系統(tǒng)框架...........................................6 2.1.2核心操作系統(tǒng)層和核心服務層.............................7 2.1.3應用程序框架...........................................8 2.2 SQLite數(shù)據(jù)庫介紹............................................9 2.3 XCode......................................................10 第3章 愛限免手機應用app需求分析................................11

      3.1 愛限免手機應用app的可行性分析.............................11 3.2 愛限免手機應用app功能需求分析.............................13 3.2.1 功能需求..............................................14 第4章 愛限免手機應用app設(shè)計....................................16

      4.1 模塊功能設(shè)計...............................................16 4.1.1 限免模塊..............................................16 4.2.1 免費模塊..............................................21 4.2.2 專題模塊..............................................26 4.2.3 分享功能模塊..........................................30 4.2.4 收藏功能模塊..........................................32 4.2.5 搜索功能模塊..........................................36 第5章 系統(tǒng)測試..................................................38

      5.1 功能模塊測試...............................................38 5.2 功能整體測試...............................................39 總結(jié)與展望.......................................................40

      總結(jié)...........................................................40

      III

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      展望...........................................................41 參考文獻.........................................................43 謝 辭...........................................................44

      IV

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      第一章 前 言

      1.1 課題開發(fā)背景

      如今移動開發(fā)產(chǎn)業(yè)讓人眼花繚亂,主要的開飯平臺有:iOS(iPhoneOS)、Android、Nokia Symbian、BlackBerry、Java ME、Windows Phone、Flash/Flash Lite、mobile web(WAP/XHTML/CSS/Javascript)。Android以其開放性,多任務,大功能,畫面流暢,硬件設(shè)備優(yōu)良多樣等各種優(yōu)點,占智能機一大部分;然而它也存在著很明顯的不足,如:兼容性差,各種機型的配置不一樣,以至于開發(fā)的時候出現(xiàn)各種版本。有些產(chǎn)品華而不實,用戶體驗差。Symbian主要基于C語言的應用開發(fā),支持多線程運行模式,但是開發(fā)代碼量過大給開發(fā)人員造成很大的不便,另外塞班版本之間兼容性差也是SymbianOS需要改進的一個地方。就目前而言,三大平臺(Android、Symbian、BlackBerry)的市場占有率也在逐漸下降,iOS呈現(xiàn)平穩(wěn)上升趨勢。

      1.App Store的支付模式成熟

      App Store的成熟不僅僅是商業(yè)模式的創(chuàng)新,更重要的是無法模仿,經(jīng)過長時間的運營,App Store已經(jīng)形成完備的支付模式,被大部分用戶接受。

      2.iOS是用Objective-C開發(fā)

      從全球的編程語言排行榜來看,雖然,Objective-C只有蘋果公司一家使用,但是已經(jīng)排名第4,可見iOS開發(fā)的普及性和受歡迎程度,另外,objective-c是對c語言的封裝,既沒有了c語言寫程序的繁瑣復雜性,又兼顧了c語言的高效率,這也使得objective-c語言在編程語言中的地位以及受歡迎度日益上升的一個因素。

      3.Iphone性能優(yōu)越

      蘋果iPhone以及所有蘋果的硬件軟件策略和控制讓蘋果在用戶體驗和控制產(chǎn)品質(zhì)量方面占盡先機,大部分iOS用戶能夠同時對他們手中的設(shè)備進行更新,這會吸引更多用戶。

      4.iPhone在中國極受歡迎

      中國的各大移動運營商都積極地與蘋果公司合作,各自推出適合中國人使用的手機套餐和應用,比如中國聯(lián)通,中國電信等等,社會各界也對iPhone有很好的評價,還有很多知名手機應用軟件,如qq微信等也加入了app store。

      5.iOS在各國開發(fā)者中有很好的學習氛圍

      如facebook的three 20 iOS開源代碼庫,都是良好的學習資源,還有一些

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      前輩大牛發(fā)表的博客如博客園就是一個ios開發(fā)者很好的交流網(wǎng)站,還有一些如cocoachina里邊集合了很多開發(fā)者的心得及項目,國內(nèi)外的開發(fā)大牛都有在上邊發(fā)表自己的心得。也是ios開發(fā)者良好的學習資源。

      1.2 愛限免手機app框架設(shè)計開發(fā)的現(xiàn)實意義

      隨著科技的發(fā)展技術(shù)的進步,手機的功能也出現(xiàn)了翻天覆地的變化,由原來只是打電話發(fā)短信的基本功能,轉(zhuǎn)變?yōu)楝F(xiàn)在的全功能智能手機,人們對手機的要求也越來越高。

      1.iphone手機中國市場無限擴大

      Iphone手機的性能優(yōu)越已經(jīng)不言而喻,不用就釋放也使得iphone手機避免了安卓手機卡機現(xiàn)象,然而iphone手機并不對外開源,是的其核心技術(shù)只被蘋果公司壟斷,關(guān)于iphone手機的手機應用也是少之又少,畢竟開發(fā)者有限。因此iphone手機的app開發(fā)也是迫切的。

      2.開發(fā)框架完善

      Iphone應用的開發(fā)主要平臺式有iphone公司自己研發(fā)的開發(fā)平臺xcode,是由蘋果公司的先輩大牛寫出來的,主要用于ios開發(fā)者開發(fā)軟件,集合objective-c,性能比較完善。

      3.滿足市場

      Iphone主要軟件獲取是從appStore中買或者是免費下載,愛限免主要實現(xiàn)對iphone手機應用的時時推薦,把app進行條理分類,便于用戶根據(jù)個人需求獲取自己想要得到的app。

      1.3 國內(nèi)外研究狀況

      1.國外

      第一代iPhone在2007年誕生雖然現(xiàn)在也許很難想象,但是當?shù)谝淮鷌Phone發(fā)布的時候,它相對來說落后的特性和功能是不足以讓它直接在紙面的參數(shù)對比上勝過競爭對手的。當時的Windows Mobile, Palm OS, Symbian, 甚至是BlackBerry都是2007年間相對成熟的系統(tǒng)了,都擁有廣泛而又深厚的特性積累。相比之下,iPhone不支持3G網(wǎng)絡(luò),不支持多任務操作,也不支持第三方應用。你沒有辦法去復制/粘貼文本,你沒有辦法在想要發(fā)送的電子郵件中添加附件。就連彩信iPhone也沒有辦法提供支持。其他方面的特性缺失還包括:Exchange郵件推送、可自定義的主屏幕、tethering、可見的全局文件管理器、Office文件編輯、語音撥號、以及對黑客和開發(fā)者所理應由的開放性,iphone發(fā)布三個 2

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      月之后就迎來了第一次升級,引入了iTunes Wi-Fi MusicStore。它允許用戶直接在iPhone上面購買音樂,它或許是許許多多iPhone新特性中因為運營商網(wǎng)絡(luò)壓力或者運營利益而遭到壓制的例子中的第一個,在隨之而來的ios2解決了手機應用問題加入了appstore,App Store同時存在于手機(AppStore應用)和PC(iTunes)兩個地方,用戶選擇任意一種途徑都可以自由地瀏覽和安裝應用程序。這對于過去分散性極高的移動應用(大部分通過web直接下載,有些應用存在于第三方應用商店,整體和OS的整合度較差)來說是一個巨大的變化。另外重要的是,AppStore和iTunesMusic使用一個賬號,用戶無需再次輸入自己的信用卡賬號密碼。這意味著查找和安裝應用程序?qū)⑶八从械娜菀?,這大大提高了用戶沖動消費的可能性,在之后的升級中也加入了自己原創(chuàng)的地圖的一些高級功能。2.國內(nèi)

      隨著智能手機的大眾化,越來越多的人應用智能手機。相對的對手機軟件的需求也就越來越多。當今時代手機不再只是用來打電話、發(fā)短信的工具,反而對手機的娛樂功能要求越來越高。手機新聞也成為了人們的主要獲取信息途徑之一。目前中國新聞行業(yè)已經(jīng)具備了相當?shù)囊?guī)模,并在國際市場上已有一定的競爭力。蘋果手機作為當今中國智能手機市場上不可或缺的一個品牌,基于iOS的手機軟件需求量也就相應的越來越強。市場上的新聞品牌繁多,定位不一,基本滿足了各層次消費者的需求,例如:騰訊新聞、搜狐新聞、網(wǎng)易新聞、新浪新聞等等這些大家所熟知的新聞已經(jīng)在蘋果軟件中占據(jù)了一定的地位。智能手機的普及使得移動信息平臺成為了主流。伴隨著蘋果手機進入中國市場,相應的iOS技術(shù)逐漸流行起來。而對于開發(fā)蘋果應用的語言O(shè)bjective-C,也成為當今社會最流行的開發(fā)語言,并且保持著強勁的上升趨勢,隱隱有超過C語言的現(xiàn)象。對于其他的開發(fā)語言,例如java、javascripe,Object-C以其強大的優(yōu)勢遙遙領(lǐng)先于這些其他的編程語言。本人根據(jù)當前的形式,決定引用這種這種技術(shù)來開發(fā)手機應用。

      1.4 論文內(nèi)容和結(jié)構(gòu)

      本論文主要寫的是一個ios項目-愛限免的實現(xiàn)過程,以及一些在實現(xiàn)過程中遇到的難題,解決方法,自己在解決問題中的體悟和感受,以及對以后項目的完善的展望,本文把實現(xiàn)項目過程中的核心代碼張是給讀者看,讓讀者對我的項目有初步的了解,也對關(guān)鍵代碼附有文字說明以及代碼運行后的圖片展示。具體 3

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      章節(jié)內(nèi)容如下簡介講述:

      第一章,介紹了課題的開發(fā)背景、課題開發(fā)的現(xiàn)實意義、國內(nèi)外研究綜述、論文內(nèi)容及結(jié)構(gòu)。

      第二章,概略地介紹了開發(fā)愛限免手機應用多用到的各種技術(shù),比如新技術(shù)Objective-c,SQLite數(shù)據(jù)庫,開源框架的json解析等。

      第三章,對愛限免系統(tǒng)結(jié)構(gòu)設(shè)計、系統(tǒng)結(jié)構(gòu)功能、運行環(huán)境等概要分析設(shè)計階段做工了大體介紹即需求分析。

      第四章,對系統(tǒng)總體流程設(shè)計、系統(tǒng)整體框架、后臺邏輯處理功能設(shè)計和數(shù)據(jù)庫設(shè)計作了簡要說明具體介紹了系統(tǒng)各功能實現(xiàn)過程,如分享、收藏等。

      第五章,大體介紹了對本系統(tǒng)的測試工作,涵蓋了測試計劃、測試結(jié)果以及測試分析這三個方面的內(nèi)容。

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      第2章 愛限免手機應用開發(fā)技術(shù)簡介

      該部分主要包括對iOS系統(tǒng)架構(gòu)的分析、核心操作系統(tǒng)的分析、應用程序框架的分析、內(nèi)核的分析、開發(fā)環(huán)境的配置信息、選用數(shù)據(jù)庫描述信息等,具體如下:

      2.1 Objective-c簡介

      Objective-C是非?!皩嶋H”的語言。它使用一個用C寫成、很吊的運行庫,只會令應用程序的占得內(nèi)存增加很小。OC寫成的程序通常不會比其源代碼大很多。而其函數(shù)庫(通常附在軟件發(fā)行本)亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來開啟一個窗口的情況相反。Objective-C的最初版本并不支持垃圾回收。在當時這是爭論的焦點之一,很多人考慮到Smalltalk回收時有漫長的“死亡時間”,令整個系統(tǒng)失去功用。Objective-C為避免此問題才不擁有這個功能。雖然某些第三方版本已經(jīng)加入這個功能(尤其是GNUstep),再起Mac OS X 10.3中仍未引入這個功能。不過令人欣慰的是在Apple發(fā)布的XCode4中已經(jīng)支持自動釋放,我不敢冒昧的說那是垃圾回收,因為兩者機制不同,在xCode4中的自動釋放,也就是ARC(Automatic Reference Counting)機制,是不需要用戶手動去Release一個對象,而是在編譯期間,編譯器會自動幫你添加那些以前你經(jīng)常寫[NSObject release]。

      另一個問題是OC不包括命名空間機制(namespace mechanism)。取而代之的是程序設(shè)計師必須在其類別名稱加上前綴,時常引致沖突。在2004年,在Cocoa編程環(huán)境中,所有Mac OS X類別和函式均有“NS”作為前綴,例如NSobject或NSButton來清楚分別它們屬于Mac OS X核心;使用“NS”是由于這些類別的名稱在NeXTSTEP開發(fā)時定下。雖然Objective-C是C的母集,但它也不是C的基本型別為第一級的對象。和C++不同,Objective-C不支援運算子多載(它不支持ad-hoc多型)。亦與C++不同,但和Java相同,Objective-C只容許對象繼承一個類別(不設(shè)多重繼承)。Categories和protocols不但可以提供很多多重繼承的好處,而且沒有很多缺點,例如額外執(zhí)行時間過重和二進制不兼容。由于OC使用動態(tài)運行時類型,而且所有的方法都是函數(shù)調(diào)用(有時甚至連系統(tǒng)調(diào)用(syscalls)也如此),很多常見的編譯時性能優(yōu)化方法都不能應用于OC(例如:內(nèi)聯(lián)函數(shù)、常數(shù)傳播、交互式優(yōu)化、純量取代與聚集等)。這使得OC性能劣于類似的對象抽象語言(如C++)。不過OC擁護者認為既然OC運行時消耗較大,OC本來就不應應用于C++或Java常見的底層抽象

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      2.1.1 ios系統(tǒng)

      Cisco的網(wǎng)際操作系統(tǒng)(IOS)是一個為網(wǎng)際互連優(yōu)化的操作系統(tǒng)--類似一個局域操作系統(tǒng)(NOS)、如Novell的 NetWare,為LANs而進行優(yōu)化。IOS為長時間有效地維護一個互聯(lián)網(wǎng)絡(luò)提供了統(tǒng)一的規(guī)則。簡而言之,它是一個與硬件分離的軟件體系結(jié)構(gòu),隨網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,可動態(tài)地升級以適應不斷變化的技術(shù)

      IOS可以被視作一個網(wǎng)際互連中樞。一個高度智能的管理員,負責管理、控制復雜的分布式網(wǎng)絡(luò)資源。其早期版本是一個單獨系統(tǒng),基本上以路由器為中心。它被排列成一個過程(Procedure)集,允許任何過程之間相互呼叫。這種單一的結(jié)構(gòu)使數(shù)據(jù)的隱蔽性和獨立性不強。它的大多數(shù)操作代碼擁有結(jié)構(gòu)和操作的相關(guān)性

      iPHONE是Mac出的封閉手機系統(tǒng),iPhone相對要穩(wěn)定,不開放源代碼的,擴展相對不足,移植性很好!iPhone開發(fā)用的是Objective-C(一種C語言的第三方拓展版),從眾面小,不能定制UI(界面),只能進行功能解鎖 比如:越獄.iPhone定位于高端手機市場,走的是個性化路線,主要優(yōu)勢是AppStore(移動網(wǎng)上商店),Mac擁有全球最大最成熟的移動網(wǎng)上商店

      1.模塊性

      IOS是Cisco路由軟件的初始品牌名稱。隨著Cisco技術(shù)的發(fā)展,IOS不斷擴展,成為Cisco Central ENgineering(中央工程部門)所稱之為的“一系列緊密連接的網(wǎng)際互連軟件產(chǎn)品”。盡管在其品牌名識別中,IOS可能仍然等同于路由軟件,但是它的持續(xù)發(fā)展發(fā)已使之過渡到支持局域網(wǎng)和ATM交換機,并為網(wǎng)絡(luò)管理應用提供重要的代理功能。必須強調(diào)的是,IOS是Cisco開發(fā)的技術(shù):一項企業(yè)資產(chǎn)。它給公司提供獨特的市場競爭優(yōu)勢。許多競爭者許可IOS在其集線器和中由模塊內(nèi)運行,IOS已尼廣泛成為網(wǎng)際互連軟件事實上的工業(yè)標準。

      2.靈活性

      基于Cisco產(chǎn)品的工程開發(fā)以用戶可以獲得適應變化的靈活性。IOS軟件提供一個可擴展的平臺,Cisco會隨著需求和技術(shù)的發(fā)展集成新的功能。Cisco可以更快地將新產(chǎn)品投向市場,我們的客戶可以享用這種優(yōu)勢。

      3.可伸縮性

      IOS遍布網(wǎng)際互連市場;廣泛的Cisco使用伙伴及競爭者在他們的產(chǎn)品上支 6

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      持IOS.IOS軟件體系結(jié)構(gòu)還允許其集成構(gòu)造企業(yè)互聯(lián)網(wǎng)絡(luò)的所有部分。Cisco已經(jīng)定義了4個:核心/中樞:網(wǎng)絡(luò)中樞和WAN服務,包括大型骨干網(wǎng)絡(luò)路由器和ATM交換機。工作組:從共享型局域網(wǎng)移植到局域網(wǎng)交換(VLANs)提供更優(yōu)的網(wǎng)絡(luò)分段和性能。)遠程訪問:遠程局域網(wǎng)連接解決方案;邊際路由器、調(diào)制解調(diào)器等。IBM網(wǎng)際互連:SNA和LAN并行集成,從SNA轉(zhuǎn)換到IP.Cisco的IOS擴展了所有這些領(lǐng)域,提供了支持端到端網(wǎng)際互連的穩(wěn)健性。

      4.可操作性

      IOS提供最廣泛的基于標準的物理和邏輯協(xié)議接口——超過業(yè)界任何其他供應商:從雙絞線到光纖,從局域網(wǎng)到園區(qū)網(wǎng)到廣域網(wǎng),Novell NetWare,UNIX,SNA以及其他許多接口。即是說,一個圍繞IOS建立的網(wǎng)絡(luò)將支持非常廣泛的應用。

      2.1.2核心操作系統(tǒng)層和核心服務層

      位于iOS系統(tǒng)架構(gòu)最下面的一層是核心操作層,它包括內(nèi)存管理,文件管理,電源管理以及一些其他的操作系統(tǒng)業(yè)務,它可以直接和硬件設(shè)備交互。核心操作系統(tǒng)層包括以下這些組件:OS X Kernel,Mach 3.0,BSD,Sockets,Power Mgmt,F(xiàn)ile System Keychain,Certificates,Security,Bonjour等

      開發(fā)人員也可以完全訪問核心服務層來方問iOS的一些服務,包括數(shù)據(jù)庫連接,URL學習等等,它主要包括以下這些組件:Collections,Address Book,Networking,F(xiàn)ile Access,SQLite,Core Location,Net Services,Threading,Preferences,URL Utilities等。

      SQLite是嵌入式的和輕量級的sql數(shù)據(jù)庫,廣泛用于iOS應用。iOS系統(tǒng)內(nèi)置SQLite數(shù)據(jù)庫減小了開發(fā)人員的負擔,是系統(tǒng)的一部分。

      Net Servicer主要負責網(wǎng)絡(luò)服務,在開發(fā)過程中,承擔應用程序與服務器之間連接的角色,有很強的交互性。

      媒體層,通過它可以在應用程序中使用各種媒體文件,進行音頻與視頻的錄制,圖形的繪制,以及制作基礎(chǔ)的動畫效果。它包括以下這些組件:Core Audio,OpenGL,Audo Mixing,AudioRecording,VideoPlayback,JPG,PBG,TIFF,PDF,Quartz,CoreAnimation,OpenGL ES。最上面一層是可觸摸層,這一層為應用開發(fā)提供了各種有用的框架,并且大部分與用戶界面有關(guān),本質(zhì)上來說它負責用戶在iOS設(shè)備上的觸摸交互操作。它包括以下這些組件:Multi-Touch Events,Core Motion,Camera,View Hierarchy,Localization,Alerts,Web Views,Image 7

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      Picker,Multi-Touch Controls。

      在Cocoa Touch層中的很多技術(shù)都是基于Objective-C語言的。Objective-C語言為iOS提供了相機集合,文件管理,網(wǎng)絡(luò)操作等支持。例如UIKit框架,它為應用程序提供了各種可視化組件,窗口(window),視圖(view)和按鈕組件(UIButton)。Cocoa Touch層中的其他框架,對我們在應用程序中的開發(fā)來說也是非常有用的,如訪問用戶通信錄功能框架,獲取照片信息功能的框架,負責加速感應器和三維陀螺儀等硬件支持的框架等等。

      2.1.3應用程序框架

      編寫應用程序項目,都是從CocoaTouch層開始的,具體來說是從UIKit Framework開始的。iOS常用的SDK框架如下:

      AddressBook.framework 提供訪問存儲核心數(shù)據(jù)庫中用戶聯(lián)系人信息的功能。

      AddressBook.framework提供一個用戶界面,用于顯示存儲在地址薄中的聯(lián)系人詳情。

      AudioUnit.framework提供一個接口,讓我們的應用程序可以對音頻進行處理。

      AudioToolbox.framework和AVFoundation.framework提供音頻錄制和回放的底層API,同時也負責管理音頻硬件。

      CFNetwork.framework訪問和配置網(wǎng)絡(luò),像HTTP,F(xiàn)TP和Bonjour Services等。

      CoreFoundation.framework提供抽象的常用數(shù)據(jù)類型,如Unicode、strings、XML、URL等。

      CoreGraphics.framework提供2D繪制的基于C的API。

      Foundation.framework提供Object-C的基礎(chǔ)類(像NSObject)、基本數(shù)據(jù)類型和操作系統(tǒng)服務等。

      GameKit.framework為游戲提供網(wǎng)絡(luò)功能,點對點互聯(lián)和游戲中的語音交流。MapKit.framework為應用程序提供內(nèi)嵌地圖的接口。MediaPlayer.framework提供視頻播放和音頻的功能。

      MessageUI.framework提供視圖控制接口用以處理E-mail和短信。OpenGLES.framework提供簡潔而高效的繪制2D和3D圖形的OpenGL API。QuartzCore.framework提供動畫特效以及通過硬件進行渲染的能力。

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      StoreKit.framework為應用程序提供在程序運行中消費的支持。SystemConfiguration.framework檢測當前網(wǎng)絡(luò)是否可用和硬件設(shè)備狀態(tài)的能力。

      2.2 SQLite數(shù)據(jù)庫介紹

      SQLite是一個輕量級、跨平臺的關(guān)系型數(shù)據(jù)庫。既然號稱關(guān)系型數(shù)據(jù)庫,支持SQL92標準中常用的事務(比如視圖、事務、觸發(fā)器等)就是理所當然的了,具體特色有以下幾點:

      1.輕量級

      先說它的第一個特色:輕量級。想必SQLite的創(chuàng)建者很看重這個特性,連它的Logo都是用的“羽毛”,來顯擺它的輕飄飄。SQLite和C/S模式的數(shù)據(jù)庫軟件不同,它是進程內(nèi)的數(shù)據(jù)庫引擎,因此不存在數(shù)據(jù)庫的客戶端和服務器。使用SQLite一般只需要帶上它的一個動態(tài) 庫,就可以享受它的全部功能。而且那個動態(tài)庫的尺寸也挺小,以版本3.6.11為例,Windows下487KB、Linux下347KB等。

      2.綠色軟件

      SQLite的另外一個特點是綠色:它的核心引擎本身不依賴第三方的軟件,使用它也不需要“安裝”。所以在部署的時候能夠省去不少麻煩。

      3.單一文件

      所謂的“單一文件”,就是數(shù)據(jù)庫中所有的信息(比如表、視圖、觸發(fā)器、等)都包含在一個文件內(nèi)。這個文件可以copy到其它目錄或其它機器上,也照用不誤。

      4.跨平臺/可移植性

      如果光支持主流操作系統(tǒng),那就沒啥好吹噓的了。除了主流操作系統(tǒng),SQLite還支持了很多冷門的操作系統(tǒng)。我個人比較感興趣的是它對很多嵌入式系統(tǒng)(比如Android、Windows Mobile、Symbin、Palm、VxWorks等)的支持。

      5.內(nèi)存數(shù)據(jù)庫(in-memory database)

      SQLite的API不區(qū)分當前操作的數(shù)據(jù)庫是在內(nèi)存還是在文件(對于存儲介質(zhì)是透明的)。所以如果你覺得磁盤I/O有可能成為瓶頸的話,可以考慮切換為內(nèi)存方式。切換的時候,操作SQLite的代碼基本不用大改,只要在開始時把文件Load到內(nèi)存,結(jié)束時把內(nèi)存的數(shù)據(jù)庫Dump回文件就OK了。

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      2.3 XCode Xcode2.0是開發(fā)人員建立Mac OS X應用程序的最快捷方式,也是利用新的蘋果電腦公司技術(shù)的最簡單的途徑。Xcode2.0將Mac OSX的輕松使用,UNIX 能量以及高性能的開發(fā)技術(shù)集合在一起。

      不管你用C、C++、Objective-C或 Java編寫程序,在AppleScript里編寫腳本,還是試圖從另一個奇妙的工具中轉(zhuǎn)移編碼,你會發(fā)現(xiàn)Xcode編譯速度極快。每次操作都很快速和輕松。

      Xcode4的虛擬模型和設(shè)計功能讓你可以更輕松的開發(fā)和維護應用程序。只需選擇應用程序中想要編寫的部分,然后模型和設(shè)計系統(tǒng)將自動創(chuàng)建分類圖表,不僅可以顯示編碼,還可以讓你進行瀏覽。Mac OS X Core Data API 幫你的應用程序創(chuàng)建數(shù)據(jù)結(jié)構(gòu)。更棒的是,它還自動提供撤消、重做和保存功能,無需編寫任何編碼。

      Xcode整合的 Apple Reference Library為所有的Apple開發(fā)者文件提供一個單獨的搜索和顯示界面,這些文件包括來自蘋果電腦公司網(wǎng)站的在線文件,以及存放在你電腦上的文件。新的參考資料庫甚至可以幫你將定期更新資料下載到你的電腦,保持文件的最新狀態(tài)。Xcode 將幫你快速找到最新的答案。

      Xcode4的核心部分是蘋果電腦公司下一代業(yè)界標準的gcc編譯器gcc4.0。新的編譯器利用許多先進的最優(yōu)化技術(shù)幫你從現(xiàn)存編碼中獲得更多性能。從超級計算世界借鑒來的自動向量化(Auto-vectorization)技術(shù)可以幫助你釋放每臺 Intel 系統(tǒng)中速度引擎的能量,而不需要編寫向量化編碼。其他的最優(yōu)化工具則支持反饋定向的最優(yōu)化,以及隱藏模塊分析。

      Xcode 將賦予你創(chuàng)建諸如計算和渲染引擎應用程序的能力,這些應用程序使用64位內(nèi)存定址。這非常適合數(shù)據(jù)集中的應用程序,其通過訪問內(nèi)存中的數(shù)據(jù)運行速度更快,遠勝于磁盤訪問。Xcode將為你提供工具來建立并調(diào)試適合 IntelCore i5, i7 和Mac OSX Lion的32或64位應用程序,還可以讓你創(chuàng)建包含32位和64位執(zhí)行能力的 Fat Binaries。

      眾所周知,在構(gòu)建中引進多重處理器可以提高速度,Xcode 能幫你實現(xiàn)這個明顯的結(jié)論。利用支持 Rendezvous 的分布式構(gòu)建功能,可以輕易地把編譯工作量分散到閑置的電腦上來寄放構(gòu)建,或者更好是在單獨的電腦上開發(fā)一個專門的 Xserve 構(gòu)建寄放區(qū),快速處理那些耗時的任務。

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      第3章 愛限免手機應用app需求分析

      根據(jù)第一章所定義的課題研究方向及目標,本章將對系統(tǒng)功能進行具體的需求分析,具體分析愛限免app所要實現(xiàn)的功能以及欲達到的效果,具體內(nèi)容如下章節(jié):

      3.1 愛限免手機應用app的可行性分析

      1.使用objective-c編程技術(shù)

      Objective-c是非常實際的語言,他是一個用c寫成、很小的運行庫,只會令程序的尺寸增加很小,和大部分oo系統(tǒng)使用極大的vm執(zhí)行時間會取代整個系統(tǒng)運作相反,Objective-c寫的程序通常不會比起原始代碼大很多,而其函數(shù)庫亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來開啟一個窗口的情況相反,因objective-c它完全兼容標準c語言,c語言具有的高效性也被objective-c繼承,但是我們用的objective-c并不像c語言用起來那么的復雜,因為它是對c的封裝,把復雜高效的語言變得簡單高效,這樣更利于ios開發(fā)者使用,也為iOS開發(fā)者帶來了便捷。(1)動態(tài)綁定

      函數(shù)和消息的最根本不同是:函數(shù)和它的參數(shù)是在編譯的時候已經(jīng)確定下來,但是消息和接收對象知道程序已經(jīng)在運行,消息在傳遞時才能確定下來。確切的消息方法實現(xiàn)依賴于消息的接收者,不同的接收者可能有相同的方法名不同的方法實現(xiàn),只有在消息接收時才能確定(動態(tài)類型),通過源代碼的類型定義并不能完全確認接收者的類型。運行時消息例程查找接收者和消息方法,找到消息方法實現(xiàn)的機器碼,呼叫這個方法,傳遞給它消息實例變量指針(2)多態(tài)性

      在Objective-c中消息的調(diào)用看上去和標準C中的函數(shù)調(diào)用相似,但因為方法屬于一個對象,消息的行為與函數(shù)調(diào)用還是不同。在一些情況下,一些對象僅能對針對它涉及的方法起作用,不能被其他類的方法使用,即使這些類有同樣名稱的方法。這意味著兩個對象對同樣的消息有著不同的響應,即多態(tài)性。Objective-c中多態(tài)性和動態(tài)綁定配合使用,可以使代碼提供給任意數(shù)量不同類型的對象使用,這些對象不需要再寫代碼的時候就已經(jīng)定義好,它們可以是以后開發(fā)的對象,也可以是其他項目的對象。(3)面向?qū)ο?/p>

      面向?qū)ο蟪绦驑?gòu)建在多種對象之上,基于Cocoa框架的程序可能使用

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      NSMatrix對象、NSWindow對象、NSDirectonary對象、NSFont對象以及許多其它對象。在Objective-c中通過定義類來定義對象。面向?qū)ο笞岄_發(fā)者更容易開發(fā)應用程序軟件,以及更加規(guī)范化(4)繼承性

      類的定義是累進的,任一個新類都是在另一個類的基礎(chǔ)上定義的,新類繼承了它的方法和實例變量。繼承使所有的類構(gòu)成一顆樹形的結(jié)構(gòu),在Objective-c中使用類一般要繼承或間接繼承于基類:NSObject,因為NSObject提供了大量的有用特性。比如,一些圖形類,需要繼承于Shape類,而Shape是Graphic類的子類,Graphic又繼承于NSObject類,因此,還是間接繼承于NSObject類。類的繼承關(guān)系圖3-1所示:

      圖3-1 Objective-C類繼承圖

      在項目中NSObject集合了所有類的基本方法,所有的=類都繼承或者間接繼承NSObject。2.社會市場因素可行性

      如今社會發(fā)展迅速,手機行業(yè)更是赤手可熱,手機應用的開發(fā)也是更新?lián)Q代比較頻繁,一款好的手機軟件商店,不僅能適應市場的發(fā)展方向,更是為廣大用戶帶來福利以及便捷。

      按照目前市場情形,越來越多的移動開發(fā)者涌進iOS開發(fā)領(lǐng)域。iOS平臺上應用軟件,App Store的支付模式更為成熟而且有監(jiān)管,另外iOS的兼容性問題小,開發(fā)人員不用考慮太多的配置兼容問題,美觀大方的外形,更是吸引了大量

      河南理工大學畢業(yè)設(shè)計(論文)說明書 的用戶。而且其良好的用戶體驗,都為iOS的發(fā)展奠定了良好的基礎(chǔ)。3.硬件工具可行性

      使用工具方面,開發(fā)工具ios xcode6.0版本,要求mac10.8操作系統(tǒng),一臺已經(jīng)安裝有所有必備的軟件及相應軟件設(shè)備的計算機;內(nèi)存要求大于或等于2G。

      3.2 愛限免手機應用app功能需求分析

      愛限免手機應用app,設(shè)計5個模塊,每個模塊各司其職,在整個工程中又到了MVC模式,單例模式,block模式,是每個功能模塊化各模塊之間的聯(lián)系降到最低,使得每個模塊都類似一個小型的家庭,每個成員各司其職,這樣就降低了程序的耦合性有利于后期代碼的維護,模塊化的設(shè)計也使得你的app看起來更有你條理性,下邊就是對模塊化的圖文解釋,具體如圖3-2-1:

      圖3-2-1 模塊展示

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      此圖清晰的展示了app的5個功能模塊,首相是上邊的5個大模塊,由一個分欄控制器UITablebarController控制,把這5各模塊放到分欄控制器數(shù)組中進行控制,如圖3-2-1設(shè)一個搜索控制器和一個詳情控制器,通過正反向傳值把5大功能模塊的信息傳到這兩個控制器上邊進行顯示,其中在詳情頁面還有收藏分享工能,收藏使用了一個數(shù)據(jù)庫進行裝載數(shù)據(jù),分享實在MOb注冊了開發(fā)者 根據(jù)官方文檔進行了qq空間分享(需要有qq空間客戶端才行)。

      3.2.1 功能需求

      1.App應用的查看功能需求

      此項目分別有5各視圖控制器viewcontroller分別有系統(tǒng)的分欄控制器tabbaicontroller控制,可以根據(jù)下標來回相互切換,每個視圖控制器上邊都有一個表格控制器UITableview來進行展示數(shù)據(jù)內(nèi)容,由于數(shù)據(jù)的內(nèi)容各不相同,表格控制器還需要適應每個數(shù)據(jù)的變化,視圖控制器之間還可以相互跳轉(zhuǎn),一般都是通過壓棧的形勢來進行跳轉(zhuǎn)。2.App應用詳情查看表功能需求

      應用詳情的展示由xib可視化編程和代碼兩者結(jié)合實現(xiàn),可以展示商品的圖片、大小、類型、詳情介紹等內(nèi)容,還有周邊推薦,可以看到周邊人的app,以經(jīng)緯度來確定摸個區(qū)域。3.在線搜索應用功能需求

      搜索功能有uiseacrbar來實現(xiàn),通過app的名字,漢字英文都可以,通過代理方法把輸入框里邊的內(nèi)容和數(shù)據(jù)中的信息對比,有相同的就保存到數(shù)組中,再通過UItableview展示到界面上來。4.在線app分享功能需求

      分享的第三放有很多,我這里只用mob進行空間分享,這個功能需要開發(fā)者注冊開發(fā)者賬號,在官網(wǎng)上下載分享文檔,提取核心代碼,分享的實現(xiàn)有mob完成。

      5.App收藏功能需求

      App的收藏這里與運用了數(shù)據(jù)庫,可以通過點擊事件把你點擊的app加到數(shù)據(jù)庫中,再在相應的界面進行信息展示。6.App圖片保存功能需求

      通過點擊事件來觸發(fā)收藏相冊的代理事件,把相應的圖片收藏到相冊,打開相冊即可觀看。

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      7.App應用設(shè)置的功能需求

      這里的app設(shè)置功能只做了,對收藏的app進行刪除的操作。

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      第4章 愛限免手機應用app設(shè)計

      系統(tǒng)設(shè)計階段主要的任務是系統(tǒng)各個模塊的具體設(shè)計與實現(xiàn)。

      4.1 模塊功能設(shè)計

      下面以具體的效果來展示各個功能模塊。

      4.1.1 限免模塊

      1實現(xiàn)顯示免費app的展示 2 對限時免費app的詳情查看 3對現(xiàn)實免費app的時間倒計時 4 app基本信息的顯示

      限免功能模塊運行效果圖如下4.1.1-1,4.1.1-2所示

      圖4.1.1-1限免界面

      此圖為限免模塊的展示,如圖界面由一個uitableview覆蓋真?zhèn)€屏幕,商品在每個cell上進行信息展示,具體的設(shè)計由xib完成,下面展示cell的設(shè)計:

      下邊我就用代碼來展示一下這個界面的實現(xiàn): 首先是對網(wǎng)絡(luò)數(shù)據(jù)的請求startTime;

      cell.surplusTimeLabel.text = [NSString stringWithFormat:@”剩余:%.2lld:%.2lld:%.2lld“,time/3600,time%3600/60,time%60];

      }else{

      AppMode1 *mode = _searchArr[indexPath.row];

      cell.nameLabel.text = mode.name;

      cell.iconImage.image = [UIImage imageWithData:mode.iconData];

      cell.lastPriceLabel.text = [NSString stringWithFormat:@”¥ %.1f“,[mode.lastPrice floatValue]];

      cell.categoryLabel.text = [mode.categoryName isEqualToString:@”Game“]?@”游戲“:@”應用“;

      cell.countLabel.text = [NSString stringWithFormat:@”分享:%@次 收藏:%@次 下載:%@次“,mode.shares,mode.favorites,mode.downloads];

      //處理 星星

      cell.starImageView.frame = CGRectMake(cell.starImageView.frame.origin.x, cell.starImageView.frame.origin.y, 65/5.0*[mode.starOverall floatValue], cell.starImageView.frame.size.height);//修改fream

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      //處理 倒計時問題

      NSDate *date = [NSDate date];

      long long startTime =(long long)[date timeIntervalSince1970];

      NSString *str = [mode.surplusTime componentsSeparatedByString:@”.“][0];

      NSDateFormatter *fo = [NSDateFormatter new];

      fo.dateFormat = @”YYYY-MM-dd HH:mm:ss“;

      NSDate *endDate = [fo dateFromString:str];

      long long endTime =(long long)[endDate timeIntervalSince1970];

      long long time = endTime(UITableViewCell

      *)tableView:(UITableView

      *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

      CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@”cell“];

      if(tableView == _tableView){

      AppMode1 *mode = _dataArr[indexPath.row];

      cell.nameLabel.text = mode.name;

      cell.iconImage.image = [UIImage imageWithData:mode.iconData];

      cell.lastPriceLabel.text = @”¥ 0.0“;

      cell.categoryLabel.text = [mode.categoryName isEqualToString:@”Game“]?@”游戲“:@”應用“;

      cell.countLabel.text = [NSString stringWithFormat:@”分享:%@次 收藏:%@次 下載:%@次“,mode.shares,mode.favorites,mode.downloads];

      //處理 星星--下面兩項 在xib中已經(jīng)處理過

      //

      cell.starImageView.contentMode = UIViewContentModeLeft;//設(shè)置圖片填充方式

      //

      cell.clipsToBounds = YES;//設(shè)置 自動切割超出自身fream的部分

      cell.starImageView.frame cell.starImageView.frame.origin.y,=

      CGRectMake(cell.starImageView.frame.origin.x, 65/5.0*[mode.starOverall

      floatValue], cell.starImageView.frame.size.height);//修改fream

      cell.surplusTimeLabel.text = [NSString stringWithFormat:@”評分:%.2f分“,[mode.starOverall floatValue]];

      }else{

      AppMode1 *mode = _searchArr[indexPath.row];

      cell.nameLabel.text = mode.name;

      cell.iconImage.image = [UIImage imageWithData:mode.iconData];25

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      cell.lastPriceLabel.text = @”¥ 0.0“;

      cell.categoryLabel.text = [mode.categoryName isEqualToString:@”Game“]?@”游戲“:@”應用“;

      cell.countLabel.text = [NSString stringWithFormat:@”分享:%@次 收藏:%@次 下載:%@次“,mode.shares,mode.favorites,mode.downloads];

      //處理 星星

      cell.starImageView.frame cell.starImageView.frame.origin.y,=

      CGRectMake(cell.starImageView.frame.origin.x, 65/5.0*[mode.starOverall

      floatValue], cell.starImageView.frame.size.height);//修改fream

      cell.surplusTimeLabel.text = [NSString stringWithFormat:@”評分:%.2f分“,[mode.starOverall floatValue]];

      }

      UILabel *lebel =(UILabel *)[cell.contentView viewWithTag:10];

      lebel.hidden = YES;

      return cell;} 4.2.2 專題模塊

      1按照一定的專題分類顯示 運行效果圖如下4.2.2-1

      圖4.2.2-1 專題界面

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      專題界面實現(xiàn)如圖所示,從圖上不難看出這個界面的cell復雜得多,這個cell上不僅僅是一個app的展示,而是集合了多個app,每個app都顯示不同的信息,而且點擊每個app都會顯示對應的商品詳情,在這里處理這個就用到了block傳值,下面對界面的設(shè)計進行代碼展示,首先是請求數(shù)據(jù)的展示: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

      [manager GET:PAGE_D_URL parameters:@{@”page“:@”1“,@”limit“:@”5“} success:^(AFHTTPRequestOperation *operation, id responseObject){

      NSArray *arr = responseObject;

      for(int i=0;i

      AppMode4 *mode = [[AppMode4 alloc]init];

      mode.title0 = arr[i][@”title“];

      mode.imageUrlStr1 = arr[i][@”img“];

      mode.imageUrlStr6 = arr[i][@”desc_img“];

      mode.title5 = arr[i][@”desc“];

      mode.title1 = arr[i][@”applications“][0][@”name“];

      mode.title2 = arr[i][@”applications“][1][@”name“];

      mode.title3 = arr[i][@”applications“][2][@”name“];

      mode.title4 = arr[i][@”applications“][3][@”name“];

      mode.imageUrlStr2 = arr[i][@”applications“][0][@”iconUrl“];

      mode.imageUrlStr3 = arr[i][@”applications“][1][@”iconUrl“];

      mode.imageUrlStr4 = arr[i][@”applications“][2][@”iconUrl“];

      mode.imageUrlStr5 = arr[i][@”applications“][3][@”iconUrl“];

      mode.star1 = arr[i][@”applications“][0][@”starOverall“];

      mode.star2 = arr[i][@”applications“][1][@”starOverall“];

      mode.star3 = arr[i][@”applications“][2][@”starOverall“];

      mode.star4 = arr[i][@”applications“][3][@”starOverall“];

      mode.btnTitle1_1 = arr[i][@”applications“][0][@”comment“];

      mode.btnTitle1_2 = arr[i][@”applications“][0][@”downloads“];

      mode.btnTitle2_1 = arr[i][@”applications“][1][@”comment“];

      mode.btnTitle2_2 = arr[i][@”applications“][1][@”downloads“];27

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      mode.btnTitle3_1 = arr[i][@”applications“][2][@”comment“];

      mode.btnTitle3_2 = arr[i][@”applications“][2][@”downloads“];

      mode.btnTitle4_1 = arr[i][@”applications“][3][@”comment“];

      mode.btnTitle4_2 = arr[i][@”applications“][3][@”downloads“];

      _IDarray = @[arr[i][@”applications“][0][@”applicationId“],arr[i][@”applications“][1][@”applicationId“],arr[i][@”applications“][2][@”applicationId“],arr[i][@”applications“][3][@”applicationId“]];

      [_IDMUarray addObject:_IDarray];

      [_dataArr addObject:mode];

      }

      [_tableView reloadData];

      } failure:^(AFHTTPRequestOperation *operation, NSError *error){

      }];} 下面展示cell的賦值問題,這里我們會為每個app打上標簽,一遍我們在傳值的時候能辨認我們還點擊的是哪個app。

      -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

      CustomCell_D *cell = [tableView dequeueReusableCellWithIdentifier:@”cell“];

      cell.array = _IDMUarray[indexPath.row];

      AppMode4 *mode = _dataArr[indexPath.row];

      [cell setBlock:^(NSString *ID){

      ViewControllerA_2 *viewCtl_2 = [[ViewControllerA_2 alloc]init];

      viewCtl_2.appId = ID;

      [self.navigationController pushViewController:viewCtl_2 animated:YES];

      }];

      [cell.myImageView1 setImageWithURL:[NSURL

      URLWithString:mode.imageUrlStr1] placeholderImage:[UIImage imageNamed:@”topic_TopicImage_Default“]];

      [cell.myImageView2 setImageWithURL:[NSURL

      URLWithString:mode.imageUrlStr2] placeholderImage:[UIImage

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      imageNamed:@”topic_TopicImage_Default“]];

      [cell.myImageView3 setImageWithURL:[NSURL

      URLWithString:mode.imageUrlStr3] placeholderImage:[UIImage imageNamed:@”topic_TopicImage_Default“]];

      [cell.myImageView4 setImageWithURL:[NSURL

      URLWithString:mode.imageUrlStr4] placeholderImage:[UIImage imageNamed:@”topic_TopicImage_Default“]];

      [cell.myImageView5 setImageWithURL:[NSURL

      URLWithString:mode.imageUrlStr5] placeholderImage:[UIImage imageNamed:@”topic_TopicImage_Default“]];

      [cell.myImageView6 setImageWithURL:[NSURL

      URLWithString:mode.imageUrlStr6] placeholderImage:[UIImage imageNamed:@”topic_TopicImage_Default“]];

      cell.myLabel1.text = mode.title1;

      cell.myLabel2.text = mode.title2;

      cell.myLabel3.text = mode.title3;

      cell.myLabel4.text = mode.title4;

      cell.myLabel5.text = mode.title5;

      [cell.btn1_2 setTitle:mode.btnTitle1_2 forState:UIControlStateNormal];

      [cell.btn1_1 setTitle:[NSString stringWithFormat:@”%@“,mode.btnTitle1_1] forState:UIControlStateNormal];

      [cell.btn2_2 setTitle:mode.btnTitle2_2 forState:UIControlStateNormal];

      [cell.btn2_1 setTitle:[NSString stringWithFormat:@”%@“,mode.btnTitle2_1] forState:UIControlStateNormal];

      [cell.btn3_2 setTitle:mode.btnTitle3_2 forState:UIControlStateNormal];

      [cell.btn3_1 setTitle:[NSString stringWithFormat:@”%@“,mode.btnTitle3_1] forState:UIControlStateNormal];

      [cell.btn4_2 setTitle:mode.btnTitle4_2 forState:UIControlStateNormal];

      [cell.btn4_1 setTitle:[NSString stringWithFormat:@”%@“,mode.btnTitle4_1] forState:UIControlStateNormal];

      cell.star1.frame = CGRectMake(cell.star1.frame.origin.x, 29

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      cell.star1.frame.origin.y, 65/5.0*[mode.star1 floatValue], cell.star1.frame.size.height);

      cell.star2.frame = CGRectMake(cell.star2.frame.origin.x, cell.star2.frame.origin.y, 65/5.0*[mode.star2 floatValue], cell.star2.frame.size.height);

      cell.star3.frame = CGRectMake(cell.star3.frame.origin.x, cell.star3.frame.origin.y, 65/5.0*[mode.star3 floatValue], cell.star3.frame.size.height);

      cell.star4.frame = CGRectMake(cell.star4.frame.origin.x, cell.star4.frame.origin.y, 65/5.0*[mode.star4 floatValue], cell.star4.frame.size.height);

      return cell;} 4.2.3 分享功能模塊

      1實現(xiàn)了分享的功能 運行效果圖如下4.2.3-1

      圖4.2.4-1 點擊分享默認界面

      在這里分享功能我用了mob第三方分享,通郭mob給的官方文檔,導入系統(tǒng)庫,就可以實現(xiàn)分享功能,具體代碼如下展示:

      //注冊shareSDK

      [ShareSDK registerApp:@”74f6b479a893“];

      //添加QQ空間應用

      注冊網(wǎng)址

      http://connect.qq.com/intro/login/

      [ShareSDK connectQZoneWithAppKey:@”1104627452“

      appSecret:@”Usc84bJXmMeTzNCI“

      qqApiInterfaceCls:[QQApiInterface class]

      tencentOAuthCls:[TencentOAuth class]];

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      //添加QQ應用

      注冊網(wǎng)址

      http://open.qq.com/

      [ShareSDK connectQQWithQZoneAppKey:@”1104627452“

      qqApiInterfaceCls:[QQApiInterface class]

      tencentOAuthCls:[TencentOAuth class]];

      //分享點擊事件

      -(IBAction)shareButton:(id)sender {

      //構(gòu)造分享內(nèi)容

      id publishContent = [ShareSDK content:@”分享內(nèi)容“

      defaultContent:@”測試一下“

      image:[ShareSDK imageWithPath:nil]

      title:@”ShareSDK“

      url:@”http://004km.cn“

      description:@”這是一條測試信息“

      mediaType:SSPublishContentMediaTypeNews];

      //創(chuàng)建彈出菜單容器

      id container = [ShareSDK container];

      [container setIPadContainerWithView:sender arrowDirect:UIPopoverArrowDirectionUp];

      //彈出分享菜單

      [ShareSDK showShareActionSheet:container

      shareList:nil

      content:publishContent

      statusBarTips:YES

      authOptions:nil

      shareOptions:nil

      result:^(ShareType type, SSResponseState state, id statusInfo, id error, BOOL end){

      if(state == SSResponseStateSuccess)

      {

      NSLog(NSLocalizedString(@”TEXT_ShARE_SUC“, @”分享成功“));

      }

      else if(state == SSResponseStateFail)

      {

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      NSLog(NSLocalizedString(@”TEXT_ShARE_FAI“, @”分享失敗,錯誤碼:%d,錯誤描述:%@“), [error errorCode], [error errorDescription]);

      }

      }];} 4.2.4 收藏功能模塊

      1顯示你是否收藏成功 運行效果圖如下4.2.5-1

      圖4.2.4-1 點擊收藏顯示界面

      收藏功能我這里使用了一個ios本地數(shù)據(jù)庫codata也是對sqlite的封裝,這里使用了ios的單例模式,把這個數(shù)據(jù)庫寫在中轉(zhuǎn)站中,形成一個單例,所謂的單例就是在整個項目工程中只會被實例化一次,不會重復多次實例化,確保每次取到的都是同一個數(shù)據(jù)庫,代碼如下

      @interface AppDelegate : UIResponder

      @property(strong, nonatomic)UIWindow *window;

      @property(readonly, strong, nonatomic)NSManagedObjectContext *managedObjectContext;@property(readonly, strong, nonatomic)NSManagedObjectModel *managedObjectModel;@property(readonly, strong, nonatomic)NSPersistentStoreCoordinator

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      *persistentStoreCoordinator;

      在沒次收藏成功的時候都會有一個提示圖標,就是圖里邊的溫馨提示,這里使用了一個 UIAlertView 來實現(xiàn)這個功能具體代碼如下:

      //賦值頭像

      AFHTTPRequestOperationManager *man = [AFHTTPRequestOperationManager manager];

      man.responseSerializer = [AFHTTPResponseSerializer serializer];

      [man GET:_myIconUrl parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject){

      mode.iconData = responseObject;

      //存儲數(shù)據(jù)

      [dele.managedObjectContext save:nil];

      //彈出提示 收藏成功

      UIAlertView *alv = [[UIAlertView alloc]initWithTitle:@”溫馨提示“ message:@”收藏成功“ delegate:self cancelButtonTitle:@”知道了“ otherButtonTitles:nil, nil];

      [alv show];

      } failure:^(AFHTTPRequestOperation *operation, NSError *error){

      }];下面就是收藏功能的實現(xiàn),這里收藏功能是通過appdelegate把實例化的數(shù)據(jù)庫在相應的控制器種取到,把要收藏的app添加到數(shù)據(jù)庫中實現(xiàn)本地化存儲,從而實現(xiàn)收藏,具體代碼如下:

      //取得 實體對象

      AppDelegate *dele = [UIApplication sharedApplication].delegate;

      AppMode *mode = [NSEntityDescription insertNewObjectForEntityForName:@”AppMode“ inManagedObjectContext:dele.managedObjectContext];

      //賦值

      mode.appId = self.appId;33

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      mode.name = _myName;這樣就把喜歡的app進行了收藏,由于這個數(shù)據(jù)庫是被寫成了單例,因此里邊的數(shù)據(jù)是會不斷更新的,而數(shù)據(jù)內(nèi)容就是收藏的app,在需要展示的界面取出來數(shù)據(jù)庫進行刷表就可以實現(xiàn)展示,具體代碼如下:

      [_arr2 removeAllObjects];

      //從數(shù)據(jù)庫取出收藏的app

      AppDelegate *delegate = [UIApplication sharedApplication].delegate;

      NSFetchRequest *request = [NSFetchRequest new];

      request.entity = [NSEntityDescription entityForName:@”AppMode“ inManagedObjectContext:delegate.managedObjectContext];

      _arr = [delegate.managedObjectContext executeFetchRequest:request error:nil];

      //創(chuàng)建一個 滾動視圖,高度根據(jù)需要改變

      _sView = [[UIScrollView alloc]initWithFrame:self.view.bounds];

      _sView.frame= CGRectMake(0, 50, self.view.bounds.size.width, self.view.bounds.size.height);

      [self.view addSubview:_sView];

      _sView.contentSize = CGSizeMake(self.view.bounds.size.width, 50+(_arr.count /3 +1)*100);

      //根據(jù)收藏的app個數(shù) 創(chuàng)建圖標

      for(int i =0;i<_arr.count;i++){

      UIImageView *view = [[UIImageView

      alloc]initWithFrame:CGRectMake(30+i%3*100, 50+i/3*100, 60, 60)];

      //打開人機交互開關(guān)

      view.userInteractionEnabled = YES;

      view.image = [UIImage imageWithData:[_arr[i] iconData]];34

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      view.tag = 600+i;

      UILabel *label = [[UILabel

      alloc]initWithFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y + 60, 60, 20)];

      label.textAlignment = NSTextAlignmentCenter;

      label.font = [UIFont systemFontOfSize:12];

      label.text = [_arr[i] name];

      [_sView addSubview:label];

      [_sView addSubview:view];

      UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(gesAction:)];

      [view addGestureRecognizer:tap];

      //創(chuàng)建 刪除小圖標

      UIImageView *view2 = [[UIImageView alloc]initWithFrame:CGRectMake(-10,-10, 70, 70)];

      //打開人機交互開關(guān)

      view2.userInteractionEnabled = YES;//

      view2.backgroundColor = [UIColor lightGrayColor];

      view2.contentMode = UIViewContentModeTopLeft;

      view2.image = [UIImage imageNamed:@”close“];

      //添加到 圖標視圖上

      [view addSubview:view2];

      //判斷是否 隱藏 刪除小圖標

      if(!_btn.selected){

      view2.hidden = YES;

      }

      //添加手勢

      UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(deleteGesAction:)];

      [view2 addGestureRecognizer:tap2];35

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      //添加到數(shù)組

      [_arr2 addObject:view2];App的刪除功能也是在這里實現(xiàn)的,通過點擊設(shè)置按鈕,使app的圖標顯示刪除“×”,點擊,把它從數(shù)據(jù)庫中刪掉,刷新數(shù)據(jù),代碼如下: //刪除收藏的數(shù)據(jù)

      -(void)deleteGesAction:(UIGestureRecognizer *)ges{

      //根據(jù)點擊的view 獲取角標------正好相對應 要刪除的app在arr中的角標

      NSInteger index = [_arr2 indexOfObject:ges.view];//

      NSLog(@”%ld",index);

      //從數(shù)據(jù)庫取出收藏的app

      AppDelegate *delegate = [UIApplication sharedApplication].delegate;

      //刪除

      [delegate.managedObjectContext deleteObject:_arr[index]];

      [delegate.managedObjectContext save:nil];

      //刷新頁面

      [_sView removeFromSuperview];

      [self loadData];4.2.5 搜索功能模塊

      1實現(xiàn)app名字搜索顯示 2 點擊可以查看信息 運行效果圖如下4.2.5-1,36

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      圖4.2.5-1 搜索結(jié)果界面

      搜索界面的實現(xiàn)實在原有界面的基礎(chǔ)上加上實現(xiàn)代理方法,用uiseachbar來實現(xiàn)app的搜索功能核心代碼如下

      -(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString{

      //清空搜索結(jié)果數(shù)組

      [_searchArr removeAllObjects];

      for(AppMode1 *mode in _dataArr){

      if([mode.name rangeOfString:searchString].location!= NSNotFound){

      [_searchArr addObject:mode];

      }

      }

      return YES;} 37

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      第5章 系統(tǒng)測試

      系統(tǒng)測試是保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟,是對系統(tǒng)開發(fā)過程中的系統(tǒng)分析系統(tǒng)設(shè)計和實施的最后復查。根據(jù)測試的概念和目的,在進行信息系統(tǒng)測試。

      5.1 功能模塊測試

      1.限免模塊的測試,主要測試、接口數(shù)據(jù)是否能正確顯示,不出現(xiàn)閃退的情況,時間會不會刷新,每個app的星級會不會正確顯示,這些測試中唯獨最后兩項最為麻煩,第一次測試的時候星星的顯示問題總是搞不定,不管怎么調(diào)試都是顯示五顆星,和顯示的數(shù)據(jù)不照應,經(jīng)過同學的幫忙,忙才發(fā)祥是父視圖沒有對子視圖進行切割,還有就是限免的價格是被拉掉的,我是用xib做的拉掉的效果,但是在點擊這個app的時候這個被拉掉的線就會莫名的消失,變成原樣,當時周圍的同學也是每辦法了,這個問題一直拖到了最后,知道有天逛博客時看到有一篇博客寫到點擊cell的時候,cell會變成灰色,當時我就想到了這個問題,我認為我的劃線沒了可能是和cell的背景色沖突了,把這個關(guān)掉之后,果不其然,劃線不會消失了。

      2.降價模塊測試,主要針對數(shù)據(jù)解析json的正確應用,josn解析的時候主要注意里邊數(shù)據(jù)的取值方式,json數(shù)據(jù)里邊你需要的可能是有一個數(shù)組構(gòu)成的,也可能是一個字典,正當?shù)娜≈挡挪粫斐蔁o謂的越界現(xiàn)象,還有json數(shù)據(jù)中并不是所有的數(shù)據(jù)都是字符串的形勢顯示,也可能會出現(xiàn)NSnumber的數(shù)據(jù),當時在后期調(diào)試的時候,我的程序就因一個NSNUmber的數(shù)據(jù)沒有處理好,導致程序崩潰,還很難找,因為我就沒想到我會在這里取值出錯誤。

      3.免費模塊測試,主要測試對數(shù)據(jù)的解析,以及內(nèi)容的顯示。

      4.專題模塊的測試,主要測試cell上的控件是不是能正確的傳值,主要注意block在反向傳值的時候的回調(diào),以及對block的應用,專題模塊這一點可以說的是我耗時最多的一個界面,主要就消耗在界面?zhèn)髦颠@一塊,由于cell上的app比較多,對于如何處理我選中的是哪個app是我一度陷入盲區(qū),不知道如何處理,首先想到的方法是取到app的父視圖,但是運行的時候根本不行,知道后邊學習了block才解決了這個問題。

      5.詳情頁面的測試,主要測試是不是每個界面都能正確的傳進來數(shù)據(jù),以及對數(shù)據(jù)的展示,數(shù)據(jù)圖片不一樣多造成的越界現(xiàn)象,圖片的加載相冊功能,分享功能,收藏功能。對周邊應用的具體詳情再次查看,怎么進行數(shù)據(jù)的處理,詳情頁面在處理的時候,難點就在于怎么把本頁的周邊app再通過點擊app在本頁顯

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      示具體的信息,這個問題導致我把程序進行了大修改,煩躁啊,因為前期的邏輯沒處理好,導致這里傳值出問題,不過在我的努力下還是把程序都改了。

      在完成逐個模塊測試后,開始對系統(tǒng)進行驗收測試,運行該系統(tǒng),在運行過程中查找出現(xiàn)的錯誤。

      5.2 功能整體測試

      在安裝好配置環(huán)境的電腦上測試,剛開始出現(xiàn)屏幕混亂,經(jīng)過反復修改,現(xiàn)在已經(jīng)能正常運行。用xcode上自動檢測內(nèi)存工具,檢測出多處內(nèi)存泄露問題,都已經(jīng)修改。測試到這個階段就簡單多了,繁瑣的工作都做完了,不過在這個階段我還是發(fā)現(xiàn)了一個嚴重的問題,就是內(nèi)存泄露,原因是我在cell中實例化了一個控件,我當時竟然天真的以為ARC不會有內(nèi)存泄露,但是還是出現(xiàn)了,cell復用的時候,雖然使用的以前的cell,但是你在cell里邊申請的控件還會一直開辟空間消耗內(nèi)存,這樣就會導致內(nèi)存泄露。

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      總結(jié)與展望

      總結(jié)

      經(jīng)過一段時間的忙碌,終于把畢業(yè)設(shè)計的任務完成了?,F(xiàn)在我對該系統(tǒng)做一下總結(jié)

      本項目的開發(fā)目標,主要是為了提供iphone手機應用平臺,為用戶更好的體驗iphone手機。設(shè)計經(jīng)過緊張而有序的系統(tǒng)開發(fā),收獲頗豐,感觸頗深?,F(xiàn)在對經(jīng)驗收獲、教訓反思兩大部分總結(jié)如下: 經(jīng)驗收獲:

      1.編寫程序前,對已完成設(shè)計構(gòu)思的系統(tǒng)進行主次分析,排好功能實現(xiàn)順序,列出程序編、寫步驟,對于理清編程思路很有幫助。人的邏輯思維可能很發(fā)達,在設(shè)計當中可以不用筆記,在腦中就能想好三到五個功能的邏輯關(guān)系和編寫步驟。但以后我們面對的是一個龐大的系統(tǒng),大系統(tǒng)下分多個子系統(tǒng),子系統(tǒng)下分多個功能模塊,功能模塊下分多個功能頁面,功能頁面下分多個子功能,而且子系統(tǒng)、功能模塊、功能頁面、子功能之間的邏輯關(guān)系構(gòu)成了一張復雜龐大的邏輯關(guān)系網(wǎng)。這就需要我們在原先做好的設(shè)計流程圖上,系統(tǒng)規(guī)劃,全面分析,逐步細化,反復斟酌、推敲,然后列出編程計劃。

      2.善于借鑒他人的成果,實現(xiàn)自己的功能,可以有效地縮短開發(fā)時間,提高工作效率,是快速提高編程能力的最佳途徑。借鑒他人的勞動成果并不是簡單地拷貝別人的源代碼,如果只是這樣的話,你會因為系統(tǒng)經(jīng)常的報錯,卻束手無策,最后將其認為是雞肋而抱怨連天。應該是先要分析讀透他人的程序思想,取其精華,去其糟粕,使之成為自己的思想,然后將這些功能塊與自己的功能塊融合。

      3.在完成這個課題的過程中,遇到了很多問題。對于iOS的開發(fā)過程更是頭疼,因為在iOS中有些控件必須接收協(xié)議,而且不用手動調(diào)用協(xié)議中的方法,系統(tǒng)自己調(diào)用,比如:UITableView。這個讓我感覺很不可思議,以至于每次非得手動調(diào)用協(xié)議,但是每次都出錯,后來就記住這個問題了。

      4.每編完一個功能,應及時與其它完成功能一起測試,運行無誤后,方可進行下一步開發(fā)。這樣做是為了在測試時如果出錯能很方便地找到出錯的環(huán)節(jié)和病因所在,我們稱之為“step by step”(一步一腳?。?,對于一個初級的程序開發(fā)者來說是很有幫助的。對于編程人員來說每一個環(huán)節(jié)都是來不得有半點差錯的,每一個功能都是環(huán)環(huán)相扣,相互關(guān)聯(lián),相互作用的

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      教訓反思:(1).學習與實踐的結(jié)合不當。當我進行程序開發(fā)的時候,發(fā)現(xiàn)以前學習的知識點到用時卻忘得一干二凈了,也只好重新學習基本知識了。如果以前把知識學得透徹點,理解深刻點,也許在開發(fā)過程中可以縮短時間,提高效率。反思自我,歸其原因:不是當時的學習不夠認真,而是缺乏對知識點的運用實踐;對于像我這樣“半路出家”的編程人員來說,只是理解知識點是遠遠不夠的,如果當時沒有經(jīng)過編譯、運行、調(diào)試的過程,很快就會忘記的。

      (2).學習目標不專一。我們都知道在學習的時候是最忌諱這個還沒學明白就去學那個的,結(jié)果當然是哪個也沒學明白。這個沒學好,就想用另一個,造成學習不深入,學習效果不好。以后一點要記住此教訓。

      展望

      這次畢業(yè)設(shè)計項目做得時間挺長的,從開始學習c語言,到后來的高級語言objective-c、UI、初級網(wǎng)絡(luò)、高級網(wǎng)絡(luò)等。到最后項目的結(jié)束,感覺自己學習到了很多知識,但是知道的越多你就會越發(fā)的感覺到自己知識的不足,第一次開始認認真真的學習c還是從圖書館里的《21天精通c語言》開始,是一門語言你就要記憶很多東西,我學習的時候覺得最難得不是邏輯而是記憶,到后來的objective-c,這門高級語言的底層是對c語言的封裝,把c的很多邏輯封裝成方法,你只需拿來用就ok了,oc學完的時候已經(jīng)是年后了,之后學習了UI的界面搭建,以及初級網(wǎng)絡(luò)。學完初級網(wǎng)絡(luò)就著手寫自己的畢業(yè)項目,當時覺得很難,很多知識都不熟悉,還有分享,block等高級網(wǎng)絡(luò)的知識還沒有接觸到,因此在初期畢業(yè)項目制作過程中只完成了界面的加載數(shù)據(jù),界面之間沒有相互的跳轉(zhuǎn),很沒有活力,基本的界面搭建完成已經(jīng)過了一個多星期了,之后有做了bug調(diào)試,把出現(xiàn)的問題解決了,這樣這個app才有了形,這個完成之后我就著手學習了高級網(wǎng)絡(luò),接觸到了分享,支付,通信等知識,還學了block的界面?zhèn)髦?,平時學習完都會做一些小的demo來做練習,大概一星期之后才回頭來完善自己的畢業(yè)項目,這是的畢業(yè)項目也已不是當初的大難題了。

      雖然畢業(yè)項目做完了,但是功能并不是那么完美,就像我剛開始接觸這門語言時,我會覺得很難辦,到我學的多了,見得多,用的多了,豐富的知識已經(jīng)讓我感覺到自己入門了,有自己的學習方法了,本來學習就是一個循循漸進的過程,我們每個人都不可能一下子做的很完美,很出色,都需要不斷的完善。我也希望自己在以后的工作中得到更多的知識、經(jīng)驗。讓自己不斷地進步,做出屬于自己 41

      河南理工大學畢業(yè)設(shè)計(論文)說明書 的獨特的作品。

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      參考文獻

      [1] 譚克強Objective-C程序設(shè)計(第四版)。

      [2] 51cto網(wǎng)站oc教學視頻自學。以及對牛人博客的借鑒。[3] 21天精通c語言,河南理工大學,圖書館。[4] 博客園學習,主要學習UI時對我的幫助很大。

      [5] cocoaChina第三方庫的使用,對后期做畢業(yè)設(shè)計,提供很多便利。

      [6] 個人覺得最好用的還是度娘,什么問題都可以問她,自學學到的東西才會理解的更 深刻。

      [7] DaveMak(美)JackNutting(美)JeffLaMarche(美)著.楊越孫文磊等譯.ios5基礎(chǔ) 教程[M].北京:人民郵電出版社.2013:3 [8] MarkDalrymple(美)ScottKnaster(美)著.楊越等譯.Objective-C基礎(chǔ)教程[M].北 京:人民郵電出版社.2012:7 [9] StephenG.Kochan著.林翼、范俊、朱奕欣譯.Objective-C程序設(shè)計(第四版)[M]。北京:電子工業(yè)出版社,2012:12 [10] 虞斌著.Ios軟件開發(fā)揭秘:iPhone&iPad企業(yè)應用和游戲開發(fā)[M].北京:電子出 版社,2011:1 [11] 克萊爾(美)著.李強譯.Objective-C2.0Mac和ios開發(fā)實踐指南[M].北京:機械 工業(yè)61出版社,2011:1 [12] BrianW.KernighanDeninisMRirchie著,徐寶文,李志(譯)TheCProgramming Language[M].北京:機械工業(yè)出版社2003:2 [13] 徐松林,黃猛著.cocos2D-x手機游戲開發(fā)[M].北京:人民郵電出版社.[14] Ronpatton(美)著.王鈺,曹躍譯.軟件測試[M].北京:機械工業(yè)出版社,2006 [15] 王水著.軟件工程[M].河南:河南科學技術(shù)出版社,2008:8 [16] 吳潔明著.軟件工程實例教程[M].北京:清華大學出版社,2010:11 43

      河南理工大學畢業(yè)設(shè)計(論文)說明書

      謝 辭

      在本論文的寫作過程中,我的導師宋成老師傾注了大量的心血,從選題到開題報告,從寫作提綱,到一遍又一遍地指出每稿中的具體問題,嚴格把關(guān),循循善誘,在此我表示衷心感謝,謝謝宋成老師在我撰寫論文的過程中給與我的極大地幫助

      同時我要感謝學院的各位老師、同學和朋友。在整個的論文寫作中,各位老師、同學和朋友積極的幫助我查資料和提供有利于論文寫作的建議和意見,在他們的幫助下,論文得以不斷的完善,最終幫助我完整的寫完了整個論文

      另外,要感謝在大學期間所有傳授我知識的老師,是你們的悉心教導使我有了良好的專業(yè)課知識,感謝這四年來計算機學院對我的栽培,使我成為了一名合格的理工學子。

      第三篇:IOS設(shè)計規(guī)范

      剛?cè)腴TUI的小伙伴是不是不知道app該怎么切圖、規(guī)范是什么?怎么和程序員同學配合,用什么工具更方便,怎么標注自己的設(shè)計稿,怎么做到一稿適配多種機型,這篇文章將一一解答你的疑問!

      依舊聲明:這里寫的不是一種規(guī)范,只是一種工作方法,大家在具體工作中,一定要靈活運用。另外,技術(shù)的更新是非常快的,所以,還是要靈活運用~

      我本身是一名GUI設(shè)計師,所以我只站在GUI設(shè)計師的角度去把APP從項目啟動到切片輸出的過程寫一寫,相當于工作流程的介紹吧;公司不同,流程不盡相同,但是終究還是能有些幫助。

      這里我們只說IOS系統(tǒng)下的設(shè)計,至于Android,因為尺寸太多,涉及的東西比較亂,我整理好以后再說吧。

      頁面篇幅比較長,不推薦一次性看完,那樣你潛意識里就會對它厭煩了,所以可以有時間讀一讀,看一看。

      Part 1 項目立項

      完善的公司會把項目相關(guān)人員聚集起來,產(chǎn)品經(jīng)理會把產(chǎn)品詳細的用原型展示出來,包括產(chǎn)品定位,市場需求,主打賣點,產(chǎn)品性質(zhì)以及各模塊具體功能,邏輯跳轉(zhuǎn)演示一下;之后會評估項目用時,各部門協(xié)調(diào),項目啟動。

      話不多說,接到原型,那我們應該做什么準備工作呢?

      在項目設(shè)計之初,就該進行項目歸檔整理,我的習慣是“項目名稱+版本序列”; 沒有最正確的工作方法,只有最適合自己的工作習慣。

      我個人習慣把不同類型的文件劃分到不同類型的文件夾里,有的設(shè)計師習慣全都放在一個文件夾里,如果文件少還說的過去,如果頁面過多,就知道這樣的利弊了。

      工欲善其事必先利其器,基本上我做界面設(shè)計用的最多的就是PS和AI了,版本無所謂,用著舒服就行,推薦版本高一點的,低版本好多方便功能都沒有。

      標注工具:

      PxCook,目前我還沒用上Mac,所以也不知道傳說中的Sketch到底多神奇。PxCook在Windows上標注還比較順手,雖然它還附帶切圖功能,但是比較雞肋,不推薦用它切圖。

      切圖工具:

      Cutterman 點擊下載一款PS的插件,切圖非常方便,但不支持綠色免安裝版本PS,而且對PS版本要求比較高,針對CS 6的已經(jīng)不維護更新了。推薦安裝官方完整版PS cc,然后自行破解。官網(wǎng)上有安裝使用教程,自己研究下吧,因為我也是最近才開始接觸這款插件。

      Assistor PS 也是一款PS的切圖標注插件,也被譽為神器;我使用了下,感覺相當不錯,就是標注還沒太適應,推薦一下這個。

      標注工具以及這兩款插件我都會上傳,至于安裝方法去“百度一下”吧,易學易用。Part 2 Photoshop設(shè)計尺寸

      現(xiàn)在常用的幾種設(shè)計尺寸

      1.640*960

      4時代的尺寸,剛接觸APP設(shè)計用的是這個尺寸,擬物盛行的時代(現(xiàn)在用這個尺寸設(shè)計的應該比較少了吧);

      2.640*1136 5/5S/5C,IPhone更新,咱們設(shè)計也得跟著與時俱進(應該還有人用這個設(shè)計尺寸),進入扁平的時代了;

      3.750*1334 6 目前我做設(shè)計稿的設(shè)計尺寸,IPhone6的尺寸,向下可以適配4,5,向上可以適配6 plus;我記得IP6推出后,我問總監(jiān)應該用什么尺寸設(shè)計,他說用IP6的吧,好適配,切出來就是@2x了,改一改上下都能照顧到。

      推薦做設(shè)計稿的時候使用IPhone6的尺寸進行設(shè)計。

      IP 6的尺寸相比于IP 5來說,很多系統(tǒng)控件尺寸并未變化,只是高度也就是內(nèi)容顯示區(qū)域發(fā)生了變化。下面是IPhone 6的空白文檔,我建立了參考線。

      文檔建立之初就設(shè)置好參考線是個很好的工作習慣,我希望更多的設(shè)計師可以養(yǎng)成更好的工作習慣。

      上下的參考線很容易設(shè)置,因為是根據(jù)IPhone自身系統(tǒng)設(shè)置的,左右的參考線我習慣設(shè)置為24px,也就是顯示內(nèi)容距離邊框的距離。這不是絕對的,我和總監(jiān)研究過,究竟是設(shè)置為左右30px還是24px比較好,通過對國內(nèi)國外各種APP的對比,覺得24px更適合一些,不寬不窄,這個完全是設(shè)計師個人的設(shè)計習慣,所以不要當成什么規(guī)范,確切的說,整個屏幕你都可以隨便做,但是我們這里說的是正常頁面。

      Part 3 頁面標注

      標注是重中之重,工程師能不能完整的還原設(shè)計稿,很大一部分取決于標注;如果不清楚你該怎么標,一定要和工程師溝通!

      每個工程師實現(xiàn)效果的方法不同,我在這里所說的,是我的標注習慣,但應該適用于大部分的設(shè)計師和工程師。

      不需要每一張效果圖都進行標注,你標注的頁面能保證工程師開發(fā)每個頁面的時候都能順利進行即可;

      這里的標注軟件使用的是PxCook,先標一個空白文檔,看看都需要什么吧

      這里要說一句,PxCook雖然可以自動讀取顏色,但是還不能對PSD文檔里設(shè)置的透明度讀取,所以如果你用了透明色,推薦你用文字標注直接寫出來原色值以及透明度。基本上我并不使用PXCook里面的顏色標注工具,而是使用文字標注工具,因為要標識兩種色值,PxCook只能顯示一種色值。

      一般我的習慣是PS和標注軟件同時打開,因為有時候標注軟件并不能完全的把PSD文件里的東西標注出來,所以標注也要靈活運用,如果無法標注,就到PS里查看一下,然后再使用文字標注說明一下。

      標注顏色是使用16進制,還是RGB:

      都用得到,要看實現(xiàn)什么東西,建議標注顏色時,兩種色值表達都標上(16進制&RGB)。你需要標注的內(nèi)容有:

      1.文字需要提供:字體大小(px),字體顏色; 2.頂部標題欄的背景色值,透明度;

      3.標題欄下方以及Tab bar上方其實有一條分割線,需要提供色值; 4.內(nèi)容顯示區(qū)域的背景色(如果是全部頁面白色,那就和工程師說一句就行); 5.底部Tab bar的背景色值。

      因為頁面的種類成千上萬,我想每種頁面都講一下,但是不現(xiàn)實,希望可以舉一反三。下面的是一個比較普通的首頁頁面,但是基本上一款APP中應該標的元素都有了~

      一般頁面你需要標注這些地方:

      所有元素統(tǒng)一距離屏幕最左24px(全局性的數(shù)據(jù)可以直接和工程師溝通,也可以標注,推薦標注出來)

      1.標題欄:背景色,標題欄文字大小,文字顏色(不再贅述);

      2.Banner:所有撐滿橫屏的大圖,不需要橫向尺寸,把高度標出了就可以了;3.菜單圖標:

      圖標的大小和圖標的可點擊區(qū)域不一定一致

      也就是說,圖標可以做的很小,但是為了保證點擊的準確性和流暢性,工程師可以把可點擊區(qū)域設(shè)置的很大,這樣標注和切圖的時候就要注意,標注的是可點擊區(qū)域的大小,切圖切的也是可點擊區(qū)域的大小,也就是用透明區(qū)域去補上,否則圖片會模糊。在設(shè)計的時候就要考慮可點擊區(qū)域的范圍,比如X寶購物車頁面左側(cè)的小圈,可點擊區(qū)域要比實際小圈尺寸大很多。

      這種類型的圖標需要標注圖標點擊區(qū)域大小,圖標距離屏幕最左最右以及上下的距離。至于圖標的間距,因為有些時候可能

      設(shè)計師不能完全做到1px不差,所以我基本不標,交給工程師讓他們?nèi)ヌ幚恚鋵嵉染嗯帕械膱D標不需要標間距,因為工程師還要動態(tài)適應不同的屏幕,標了間距也是白標(還是要和你的搭檔溝通怎么去標注);

      4.模塊間隔:這個位置其實不是太重要,我習慣標注上這里,麻煩能少則少。5.圖片+文字:這個應該比較常見,只標注一個單位(圖+文)就可以了。

      圖片需要標注寬高,因為工程師要設(shè)置圖片區(qū)域,從后臺調(diào)取,可以這么說,軟件里除了橫屏撐滿的圖,基本上所有的圖片都要標注寬高。

      圖片距離上下左右的距離,文字大小顏色,這里的文字其實算兩個控件,標題文字以及說明文字,需要單獨標出。

      Tab Bar:

      這個位置其實比較特殊,你可以單獨標注圖標大小+文字大??;還可以圖標文字算作一個控件,整個切出來;

      我們工程師的習慣是用整個的,也就是圖標+文字算作一個ICON,所以我基本不怎么標注單獨的圖標(這里可以和你的搭檔去溝通一下,看他是什么開發(fā)習慣)。關(guān)于列表頁類型的標注問題

      普通的列表有兩種方法(去問你的搭檔,他喜歡用什么方法): 1.標出行高,行內(nèi)元素居中;

      2.標出行內(nèi)元素,元素上下間距,確定行高; 每種元素的位置如何確定:

      通常標注的都是元素距離屏幕最左側(cè)的距離,比如上圖的圖標元素距離左側(cè)24px,文字元素距離左側(cè)100px。

      標注這個東西沒有固定的方法,工程師的開發(fā)習慣不同,標注方法也不同。

      該怎么標注雖然可以在網(wǎng)上找到方法,但那不一定適合你,一定和自己的搭檔勤溝通,方法是死的,人是活的……

      所有的頁面標注總結(jié)起來就是:標文字,標圖片,標間距,標區(qū)域;

      (上述圖標出現(xiàn)了45px的單數(shù),因為軟件自動吸附上去了顯示了圖標本身的尺寸,切圖的時候記得輸出個偶數(shù)尺寸的切片)

      Part 4 切片資源的輸出

      切之前務必要和你的工程師搭檔溝通一下,該如何去切才能配合他的開發(fā)。

      全局性的切圖常見問題

      你的所有設(shè)計尺寸,包括圖形效果,應該盡量使用偶數(shù)。

      技術(shù)開發(fā)使用的尺寸是設(shè)計稿像素尺寸的一半,也就是說,如果你用24px的字體,技術(shù)那邊就是設(shè)置為12px;

      所以標注的時候務必使用偶數(shù),為了保證最佳的設(shè)計效果,避免出現(xiàn)0.5像素的虛邊。②

      切圖尺寸應該提供幾套?

      ico_car.png

      IPhone2G,3G,3GS使用(好像沒人用這手機了吧)ico_car@2x.png

      IPhone4,5,6優(yōu)先加載此尺寸圖片(不是必須使用這個尺寸,是優(yōu)先加載調(diào)用這個尺寸)ico_car@3x.png IPhone6 plus使用的尺寸

      可以簡單的理解為倍數(shù)關(guān)系(其實是為了滿足不同分辨率,我覺得不用過于深究),如果你使用IPhone 6尺寸做設(shè)計稿,那么切片輸出就是@2x,縮小2倍就是@1x,擴大1.5倍就是@3x了。

      理論上,為了達到最好的視覺效果,你應該輸出三套尺寸,推薦輸出三種尺寸的切片資源。我的工程師搭檔要求我給兩套尺寸就可以,也就是@1x @2x的兩種尺寸,因為我們沒有6 plus的測試機,所以看不到效果,據(jù)他說應該不會太失真,但是為了保證效果,我還是給三套尺寸。

      另外現(xiàn)在幾乎看不到3GS了,所以需不需要提供一倍圖,還是要和工程師討論一下~ @1x @2x @3x是開發(fā)工具Xcode軟件需要的UI資源,命好名稱后,IOS設(shè)備會自動的選取合適尺寸。

      ③共用資源的圖片,輸出一張就可以

      類似這種重復的按鈕之類的,只要提供一張共用的資源就可以了;上面的文字是技術(shù)寫上去的。

      理論上按照最佳視覺效果,你應該提供多尺寸的圖片;但通常我只提供最大尺寸的一張圖片即可,這一點要和你的搭檔溝通好,卻問他需要什么方式。

      ④切片的輸出格式

      文件→存儲為Web所用格式

      位圖格式:PNG 24,PNG 8,JPG

      在JPG和PNG兩種格式圖片大小相差不是很大的情況下,推薦使用PNG;如果圖片大小相差很大,使用JPG。

      歡迎頁面,ICON一定要使用PNG格式,在不影響視覺效果的前提下,可以考慮使用PNG 8;

      矢量圖格式:PDF,SVG

      IOS原生支持的兩種矢量圖片格式,但是支持的一般,并不能保證100%把所有圖片效果渲染出來;

      為了保險起見,我通常不使用這兩種格式,推薦還是使用位圖,如果以后技術(shù)提升,100%支持SVG和PDF這種矢量格式圖,那個時候也許不用提供這么多套尺寸了~ ⑤圖標的點擊區(qū)域

      最小點擊區(qū)域問題:

      IOS人機指導手冊里推薦的最小可點擊元素的尺寸是44*44 point(點),在設(shè)備上1 point等于1像素,所以轉(zhuǎn)換成像素就是44*44像素,換算成物理尺寸大概是7mm左右吧(人機工效學研究中得出的結(jié)論:用食指操作,觸擊范圍在7mm左右合適;用拇指操作,范圍在9mm左右合適)。據(jù)說這個尺寸下,不容易出現(xiàn)誤操作,誤點擊;小于這個尺寸,點擊就會變的有些不太準確,一向注重用戶體驗的蘋果公司定義這個最小點擊尺寸也不是沒根據(jù)的……

      所以現(xiàn)在做設(shè)計,為了圖標精致,你可以把圖標做的小一些,但是切圖輸出的時候,要考慮用戶點擊難易度的問題,所以,切圖的時候,涉及到需要點擊的小圖標的時候,普通屏幕還是切44px大小,高清屏就需要切88px,不夠的地方用透明區(qū)域補全,否則用戶點擊的時候會比較困難,會很不靈敏。⑥圖片圖標的不同狀態(tài)

      每種圖標或者圖片如果有不同狀態(tài),每一種不同的狀態(tài)都需要進行切片輸出。

      比如按鈕有正常(normal),按下(pressed),選中(selected),禁用(disabled)等多種狀態(tài),最常出現(xiàn)的就是normal→pressed→normal;某些特定按鈕控件會出現(xiàn)選中狀態(tài),具體情況具體分析吧。這里顯示的是你要知道按鈕可能有幾種狀態(tài)……

      切片的命名規(guī)則

      命名并不是統(tǒng)一的規(guī)范,不同的公司不同的工程師有著自己不同的命名規(guī)范和命名習慣,但是大致還是有跡可循的,一般是:

      切片種類+功能+圖片描述(可有可無)+狀態(tài).png 名稱應使用英文命名(中文不識別,推薦小寫字母),不要以數(shù)字或者符號當作開頭,使用下劃線進行連接。

      舉個例子:一個首頁的處于正常狀態(tài)的確定按鈕 btn_sure_nor.png btn_sure_nor@2x.png 切片種類是按鈕(btn);功能是確定(sure);狀態(tài)是normal(正常)我通常是以這種命名方式進行命名,如果你的公司有設(shè)計文檔,去看看之前留下的命名規(guī)范,如果沒有,那就去問工程師吧。

      Tab bar(底部欄)

      說說Tab bar這里,因為比較特殊。

      如果單純的只有圖標,自然是只切圖標就好了; 早上和工程師溝通,這里該怎么切,工程師給的建議是 圖標+文字的模式,圖標最好單獨切,文字后面程序加上去。

      另外記住,同一模塊的圖標切片大小保持一致,上圖的四個圖標本身尺寸并不相同,但是切圖的時候你需要切出相同尺寸的陰影大小,便于工程師開發(fā)使用。該怎么切圖,還是要和你的工程師搭檔去溝通一下;

      以下是常用命名,這是我的命名習慣,并不是規(guī)范,所以要靈活,如果實在不知道英文,就用拼音代替也行。

      Part 5 工作常用數(shù)據(jù)

      你需要使用的字體:

      如果是用Mac設(shè)計的小伙伴,直接就用蘋果黑體字就好了;不過用Windows的就沒那么幸運了,PC上還沒和IPhone默認字體效果完全一樣的字體,通常都是拿其他字體代替。蘋果麗黑

      Hiragino Sans GB W3(普通)/W6(粗體)

      比較接近IPhone字體的一款字體,這是我之前一直使用的設(shè)計字體。

      黑體-簡

      STHeitiSC-Light

      Mac里面拷出來的蘋果黑體,比較貼近IPhone手機字體,目前在用。

      我會把這兩款字體上傳,有需要可以下載。

      關(guān)于字體大小的問題

      頂部操作欄文字大小

      34-38px 標題文字大小

      28-34px 正文文字大小

      26-30px 輔助性文字大小

      20-24px Tab bar文字大小

      20px 文字大小只是一個范圍,這要根據(jù)設(shè)計的視覺效果來決定,不要死記硬背,但是切記,字體大小要用偶數(shù)。

      你需要知道的IPhone設(shè)計尺寸(這里是一個整屏的尺寸包括了狀態(tài)欄)320*480

      IPhone3GS(我沒見過3GS實體機,只在網(wǎng)上見過圖片,但你需要知道這個尺寸)640*960

      IPhone 4/4s(4時代的設(shè)計尺寸)640*1136

      IPhone 5/5s/5c(5時代的設(shè)計尺寸,雖然現(xiàn)在出來6/6 plus,但還有人再用這個尺寸設(shè)計)

      750*1334

      IPhone 6(目前最新的設(shè)計尺寸,基本上現(xiàn)在做IOS的APP設(shè)計,用這個的應該最多)1242*2208

      IPhone6 plus(這是標準分辨率,也就是設(shè)計需要的尺寸;另外還存在物理分辨率是1080*1920,這并不需要深入理解。plus還涉及到橫屏,橫屏是是沒有狀態(tài)欄的,設(shè)計橫屏時可以參考IPad的設(shè)計模式)

      你需要提交的啟動頁面

      這是開發(fā)工具Xcode提供的LaunchImage(啟動頁面)的各項尺寸,不過好像現(xiàn)在已經(jīng)改了,這還是工程師很久之前給我的,咋一看是不是嚇一跳?工程師是按照IOS的系統(tǒng)版本來設(shè)置的,但你是設(shè)計師,你是按照IPhone的版本來作圖的,所以其實沒有那么多,真實情況下,我們的工程師要求提供以下幾個尺寸: 640*960(4/4s)640*1136(5/5s/5c)750*1334(6)1242*2208(6 plus)

      2208*1242(6 plus的橫屏尺寸,如果你們的軟件支持橫屏模式,你就需要做一張橫屏的啟動頁面)注意,啟動頁面一定要是PNG格式的

      圖標的提交尺寸

      IOS系統(tǒng)可以自動把圖片裁剪為圓角,所以提交圖標的時候,你只需要提交正方形的PNG圖片即可。

      因為需要的圖標非常多,不可能全部加進去,只能選擇最好的尺寸,我們的工程師要求我提供以下圖標尺寸:

      1024*1024

      Retina APP Icon for APP Store(高清屏的APP Store)512*512

      APP Icon for APP Store(普通屏幕的APP Store)120*120

      6的主屏幕尺寸

      114*114

      5/4s/4的主屏幕圖標尺寸 57*57

      3GS的主屏幕圖標尺寸 58*58

      Retina Settings圖標尺寸 29*29

      Settings圖標尺寸

      提交的圖標尺寸不是固定的,所以,去找和你搭檔的工程師,讓他給你出一份需要提交的圖標尺寸文檔。

      差不多用的到的就這些,有時間可以去查看一下蘋果的IOS人機指導手冊或者開發(fā)文檔,上面有更加詳細的數(shù)據(jù)說明。

      但實際工作中需要的并不像手冊上提供的尺寸那么多,所以工作之中,和你的工程師搭檔去溝通,你要知道的是你們公司開發(fā)所用的數(shù)據(jù),而不是蘋果提供給你的數(shù)據(jù)。

      本篇是之前五篇的匯總,保留的基本全是工作需要的東西,至于更多的感想以及我對設(shè)計現(xiàn)狀的思考,以及一些下載素材,可以去看看其余的五篇文字以及番外,對你應該有些許幫助吧。

      第四篇:iOS教學大綱

      iOS教學大綱

      C語言

      教學目標:讓學生掌握基本的編程思想,語言結(jié)構(gòu)和常用經(jīng)典算法。使學生具有基本的編程素養(yǎng)和思維。能夠用c語言描述各類經(jīng)典過程,記錄各種數(shù)據(jù)。為之后的應用開發(fā)打好基礎(chǔ)。1)C語法基礎(chǔ)

      a)常量、變量類型、變量 b)運算符:算術(shù)、關(guān)系、邏輯 c)分支語句 d)循環(huán)語句 e)數(shù)組 f)結(jié)構(gòu)體 g)指針 h)函數(shù)

      i)經(jīng)典排序、選擇算法 j)鏈表的概念和簡單實現(xiàn)

      Objective-C語言

      教學目標:使學生熟練掌握OC語言特性和語法。系統(tǒng)訓練學生面向?qū)ο缶幊趟季S,能夠處理各種復雜問題。具有基本的處理復雜問題的解決能力。1)OC語法基礎(chǔ)

      a)類的聲明與實現(xiàn) i)類聲明的關(guān)鍵字 ii)類實現(xiàn)關(guān)鍵字 b)成員變量和方法

      i)成員變量訪問權(quán)限 ii)方法類型 iii)方法名與參數(shù)

      c)對象指針的創(chuàng)建與分配內(nèi)存 i)內(nèi)存分配,初始化 ii)定制初始化過程過程 d)屬性機制 i)屬性作用 ii)屬性控制符 e)點語法

      i)點語法規(guī)則 ii)點語法使用 f)self關(guān)鍵字

      i)方法隱含參數(shù) ii)self賦值過程 2)繼承與復合 a)繼承語法

      b)消息動態(tài)路由 c)super關(guān)鍵字 3)字符串與集合 a)字符串

      i)創(chuàng)建,復制 ii)截取,分割 iii)拼接 b)數(shù)據(jù)結(jié)構(gòu) i)概念

      ii)關(guān)系型數(shù)據(jù) iii)關(guān)系表現(xiàn)

      c)數(shù)組和字典的基本使用

      d)數(shù)組、字典和字符串的嵌套對數(shù)據(jù)的保存 e)JSON格式 4)內(nèi)存管理-ARC a)ARC原理

      b)ARC關(guān)鍵字的作用 i)Strong ii)Weak iii)Autoreleasing iv)Unseft__unretian c)強引用循環(huán) i)出現(xiàn)原因

      (1)相互強引用(2)間接強引用鏈 ii)避免方法

      (1)使用weak打破強引用鏈

      5)OC語言特性 a)類目 b)延展 c)協(xié)議

      d)KVO(鍵值觀察)、KVC(鍵值編碼)e)單例模式 f)通知中心 6)模塊化編程1 a)模塊

      i)模塊概念 ii)模塊化結(jié)構(gòu) iii)模塊化開發(fā) b)目標-動作回調(diào) i)id類型 ii)SEL類型

      c)委托模式回調(diào) i)回調(diào)方法規(guī)范 ii)回調(diào)對象規(guī)范 7)模塊化編程2 a)Block i)概念及用途 ii)定義方法 b)Block回調(diào) 8)模塊化編程3 a)復雜模塊 b)觸發(fā)回調(diào)

      i)觸發(fā)目標的動作 ii)觸發(fā)委托人方法 iii)觸發(fā)Block對象

      iOS App開發(fā)基礎(chǔ)(原UI基礎(chǔ))

      教學目標:快速高效的學習和使用大量ios原生控件滿足視圖設(shè)計需求。能夠定制控件滿足特殊需求。能夠獨立完成app的開發(fā)工作。1)App開發(fā)入門 a)系統(tǒng)啟動流程 i)代碼

      ii)storyboard b)UIControl子類的使用 i)UIButton ii)… 2)系統(tǒng)組件 a)UIView b)UIView常用子類 3)視圖布局 a)絕對布局

      i)常用視圖尺寸 ii)位置計算規(guī)則 b)相對布局

      i)stroyboard設(shè)置約束 ii)代碼設(shè)置約束 c)橫豎屏變換

      i)UIDevce獲取設(shè)備信息 ii)UIScreem獲取屏幕信息 d)視圖控制器關(guān)鍵時間點 i)viewDidLoad ii)view相關(guān) iii)視圖朝向變換 4)視圖結(jié)構(gòu)

      a)導航控制器

      i)根視圖控制器 ii)push與pop iii)bar月item b)頁簽控制器

      i)自定義tabbar c)模態(tài)展示 d)視圖層次 5)表視圖

      a)UITableView i)數(shù)據(jù)源 ii)委托回調(diào) b)表視圖控制器 c)靜態(tài)cell d)多樣式cell 6)數(shù)據(jù)持久化-CoreData a)CoreData的增刪改查

      b)NSFechedResultController的使用 c)表視圖的增刪改 7)網(wǎng)絡(luò)編程

      a)后臺文檔的閱讀 b)創(chuàng)建請求 c)創(chuàng)建連接 d)解析數(shù)據(jù)

      e)AFNetWork的使用 f)CocosPods的使用

      8)應用事件及狀態(tài),手勢,繪圖 a)事件傳遞過程 b)事件響應過程 c)應用狀態(tài) d)狀態(tài)切換 9)多線程

      a)NSObject多線程方法 b)NSThred多線程 c)隊列與操作 d)GCD iOS App開發(fā)專題(原UI高級)

      教學目標:針對市面上流行app的常用功能模塊的開發(fā)實現(xiàn)。使學生具有多個項目的核心解決方案。1)表視圖搜索

      a)UISearchDisplayController的使用 b)UISearchBar的使用 c)CoreData謂詞的使用 2)新聞列表 a)下拉刷新

      b)點擊加載更多

      3)圖文混排(文字表情實現(xiàn))a)TextKit框架 b)富文本的使用 c)添加鏈接 4)自定義鍵盤 a)表情鍵盤 b)功能鍵盤

      c)鍵盤切換與高度獲取 5)照片庫

      a)選取圖片與視頻 b)拍攝照片 c)錄制視頻 6)定位與位置服務

      a)CoreLocation定位 b)使用新浪位置服務 7)音頻錄制播放

      8)scrollView輪播與縮放 9)常用第三方 a)加密類 b)指示類 c)功能類

      iOS App練習項目

      教學目標:強化和練習學生處理問題的能力。1.通訊錄

      a)具有聯(lián)系人增刪改查功能 b)首字母自動分組功能 c)自定義頭像功能 d)表視圖索引 e)數(shù)據(jù)持久化 2.新浪微博

      a)微博的展示與發(fā)送

      b)展示有圖片和無圖片兩類微博 c)具有顯示表情功能

      d)發(fā)微博可以發(fā)送表情和照片 e)可以轉(zhuǎn)發(fā)和收藏微博

      f)點擊微博圖片可以放大顯示 3.Message a)使用xmpp通信協(xié)議進行即時通信 b)高仿微信聊天界面與功能

      iOS 上線APP 真實項目,完整開發(fā)上架流程。

      云計算專題

      教學目標:使學生可以在云平臺上搭建數(shù)據(jù)服務后臺,對app進行聯(lián)網(wǎng)數(shù)據(jù)支持。

      1.云平臺使用

      a)SAE,新浪 b)BAE,百度 c)ECS,阿里云 2.云儲存使用

      a)Storage,新浪 b)七牛

      c)OSS,阿里 3.PHP腳本

      4.MySQL數(shù)據(jù)庫

      第五篇:轉(zhuǎn)正申請書

      敬愛的黨組織:

      我是在 2012年1月20日被批準為中共預備黨員的,預備期為一年,到2012年1月19日預備期滿。根據(jù)黨章第七條規(guī)定,今天我鄭重向黨組織提出轉(zhuǎn)正申請,申請轉(zhuǎn)為中國共產(chǎn)黨正式黨員。請組織考慮我的請求!

      為了使黨組織如期研究我的轉(zhuǎn)正問題,先將我的轉(zhuǎn)正申請書送上,請審查。

      自從2012年1月20日批準我為中共預備黨員后,在黨組織嚴格要求下,在黨支部教育下,在黨員同志的悉心幫助下,通過一系列的理論知識學習和實踐活動,我在思想政治水平上有了很大提高,切實增強了自身黨性修養(yǎng),進一步認識到做一名合格黨員不僅要解決組織上入黨的問題,更重要的是要從思想上入黨。在黨組織的培養(yǎng)教育下,我一直都按照黨員的標準來嚴格要求自己,加強政治理論學習,對工作積極主動,認真負責。下面,我向黨組織匯報一年來我的思想、工作、生活等方面的情況。

      一、加強理論學習不斷提高思想政治素養(yǎng)

      在黨組織的幫助教育下,我明確了作為一名共產(chǎn)黨員,必須把實現(xiàn)共產(chǎn)主義的遠大理想與學習、工作的實際緊密結(jié)合起來。一年來,結(jié)合榆林村黨支部于 4月、9月分別

      開展的“講黨性修養(yǎng)、樹良好作風、促科學發(fā)展”教育活動和第三批學習實踐科學發(fā)展觀活動,我系統(tǒng)學習中共十七大文件、十七屆三中、四中全會文件以及“講、樹、促”教育活動和科學發(fā)展觀活動學習資料等文件資料,深刻領(lǐng)會馬列主義、毛澤東思想、鄧小平理論和“三個代表”重要思想的理論實質(zhì),深入貫徹落實科學發(fā)展觀,努力提高運用馬克思主義的理論、觀點、方法去研究、分析和解決實際問題的能力。通過這一系列的學習,我提高了自己的政治思想水平,更加堅定了對共產(chǎn)主義的信念,并且懂得了理論上的成熟是政治上成熟的基礎(chǔ),政治上的清醒來源于穩(wěn)固的理論基石。只有堅定了共產(chǎn)主義信念,牢記全心全意為人民服務的宗 旨,才能在這個風云變幻的國際環(huán)境中,在深化改革、擴大開放、大力發(fā)展市場經(jīng)濟的新形勢下,始終堅持黨的基本路線不動搖,永遠保持一個共產(chǎn)黨員應有的共產(chǎn)主義純潔性和先進性。

      二、創(chuàng)造性開展工作 建設(shè)社會主義新農(nóng)村

      作為一名新時代的中共預備黨員,我時刻嚴格要求自己,努力工作,開拓進取。一年來,我始終能夠在鄭州高新區(qū)黨委、管委,溝趙黨工委、辦事處和榆林村黨支部、村委會的正確領(lǐng)導下,認真團結(jié)好班子其他成員,統(tǒng)一思想,齊心協(xié)力,積極主動的做好各項工作。在實際工作中,積極

      主動,不斷總結(jié)經(jīng)驗教訓,切實增強了農(nóng)村工作水平。一年來,我主要做好以下兩個方面的工作:

      1、創(chuàng)造性開展工作指導成立了高新區(qū)首家農(nóng)民養(yǎng)殖專業(yè)合作社。在高新區(qū)、溝趙辦事處領(lǐng)導的關(guān)心和村“兩委”的領(lǐng)導下,2012年3月,我直接指導成立了高新區(qū)首家農(nóng)民養(yǎng)殖專業(yè)合作社——鄭州高新區(qū)森地鑫農(nóng)民養(yǎng)殖專業(yè)合作社。

      2、適應新農(nóng)村信息技術(shù)新形勢需要建立了鄭州高新區(qū)首家村莊網(wǎng)絡(luò)博客。2012年12月,經(jīng)過榆林村“兩委”同意,在高新區(qū)、溝趙辦事處領(lǐng)導的關(guān)心和支持下,我運用自身掌握的電腦技術(shù)知識,在新浪網(wǎng)博客頻道建立了高新區(qū)首家村莊博客——鄭州高新區(qū)榆林村網(wǎng)上家園。森地鑫養(yǎng)殖合作社和榆林村網(wǎng)上家園成立以來,分別以其鄭州高新區(qū)首家農(nóng)民養(yǎng)殖專業(yè)合作社和首家村莊博客引起廣泛的關(guān)注?!多嵵萑請蟆贩謩e于2012年4月22日和2012年1月13日兩次做了相關(guān)報道。同時,《鄭州日報》的報道被人民網(wǎng)河南頻道、商都網(wǎng)、中原網(wǎng)、新農(nóng)村商網(wǎng)、鄭州市人民政府網(wǎng)、鄭州高新區(qū)政府網(wǎng)等十余家網(wǎng)站相繼轉(zhuǎn)載,獲得良好的經(jīng)濟和社會效應。敬愛的黨組織:

      2011年5月21日,經(jīng)黨黨支部批準,我成為一名光榮的中國共產(chǎn)黨預備黨員?,F(xiàn)預備期已滿一年,按照《中國共

      產(chǎn)黨章程》有關(guān)規(guī)定,我鄭重向支部組織提出入黨轉(zhuǎn)正申請,申請成為中國共產(chǎn)黨正式黨員。

      作為預備黨員以來,我在黨組織的嚴格要求下,在支部黨員的幫助下,通過一系列的理論知識學習和活動,無論是從政治上還是思想上都有了很大的提高,也增強了自身的黨性修養(yǎng),更進一步的認識到做一個合格的共產(chǎn)黨員,不僅要解決組織上入黨的問題,更重要的是要從思想上入黨。在黨組織的培養(yǎng)教育下,我一直都按照黨員的標準來嚴格要求自己,加強政治理論學習,對工作積極主動,認真負責。在這預備期的一年以來通過認真學習,使自己的世界觀、人生觀和價值觀都得到進一步改造,思想認識得到進一步提高,更加符合一名合格黨員的標準。作為一名黨員,要不斷改造自我世界觀、人生觀和價值觀,任何時候都不能出現(xiàn)信念上的偏差。我能積極主動地結(jié)合自己所擔負的工作特點,自覺地加強“三個代表”重要思想的學習、科學發(fā)展關(guān)和黨的十七大精神的學習,通過學習使我明白了黨員不只是一種榮譽,更是一種責任。

      在這一年的預備期里我的收獲很大,現(xiàn)向組織匯報如下:

      一、努力掌握政治理論知識,提高自身政治素質(zhì)

      在黨的幫助教育下,我深深認識到要以黨員的標準嚴格要求自己,要深入學習馬列主義的理論知識、“三個代表”的先進思想和全面貫徹落實科學發(fā)展觀的重要思想。我深深的認識到,只有刻苦學習共產(chǎn)主義理論,才能在復雜多變的國際環(huán)境中,在深化改革、擴大開放、大力發(fā)展市場經(jīng)濟的新形勢下,堅定信念,牢記全心全意為人民服務的宗旨,始終堅持黨的基本路線不動搖,永遠保持一個共產(chǎn)黨員應有的共產(chǎn)主義純潔性。

      下載ios轉(zhuǎn)正申請書word格式文檔
      下載ios轉(zhuǎn)正申請書.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        轉(zhuǎn)正申請書

        轉(zhuǎn)正申請書 敬愛的黨支部: 我于2010年12月1日被黨組織接收為中共預備黨員,預備期為一年,到2011年12月1日預備期結(jié)束。自成為預備黨員以來,在黨組織的嚴肅教育和嚴格要求下,在第三......

        轉(zhuǎn)正申請書

        轉(zhuǎn)正申請書 敬愛的局領(lǐng)導: 一年來,本人深入學習,堅決貫徹執(zhí)行黨的各項方針、 政策和國家的法律、法規(guī);服從領(lǐng)導,聽從指揮;刻苦鉆研,勤奮工作,迅速從一名無任何工作經(jīng)歷的在校大學......

        轉(zhuǎn)正申請書

        轉(zhuǎn)正申請書 尊敬的公司領(lǐng)導: 我于2014年4月4日進入公司,根據(jù)公司的需要,目前在技術(shù)部擔任施工員一職,負責工程的施工兼資料。本人工作認真、細心且具有較強的責任心和進取心,勤勉......

        轉(zhuǎn)正申請書

        轉(zhuǎn)正申請書 尊敬的領(lǐng)導: 我于2014年6月16日正式入職江蘇網(wǎng)庫。經(jīng)過2個半月的學習實踐,根據(jù)個人能力評估,特此申請轉(zhuǎn)為正式員工。 在剛?cè)肼毜臅r間里。我的主要職責就是進行單品......

        轉(zhuǎn)正申請書

        教師轉(zhuǎn)正申請書 尊敬的園領(lǐng)導: 經(jīng)過了4個多月的學習和實踐,以及在學校領(lǐng)導和其他老師寬松融洽的工作氛圍、團結(jié)向上的精神文化中,讓我很快完成了從學生到幼兒教師的轉(zhuǎn)變。我對......

        轉(zhuǎn)正申請書

        轉(zhuǎn)正申請書 尊敬的領(lǐng)導: 本人于2013年5月底入司以來,根據(jù)公司的需要,目前擔任經(jīng)營部職員一職。作為一個出道不久的信任,初來公司,曾經(jīng)很擔心不知該怎么與人共處,該如何做好工作;但......

        轉(zhuǎn)正申請書

        轉(zhuǎn)正申請書尊敬的領(lǐng)導:我于2011年8月29日成為網(wǎng)脈的試用員工,到今天一個半月,試用期已滿,根據(jù)公司的規(guī)章制度,現(xiàn)申請轉(zhuǎn)為公司正式員工。在實習期間,領(lǐng)導和同事的耐心指導,使我在較......

        轉(zhuǎn)正申請書

        轉(zhuǎn)正申請書 尊敬的各位領(lǐng)導: 你們好!我叫XX,于2012年5月5日成為武漢國廣HUGO BOSS ORANGE店一員,根據(jù)公司的需要,目前擔任導購一職,負責武漢國廣8260店銷售和店鋪日常事務性工作。......