国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 應(yīng)用 > 軟件技巧 > 正文

我的iOS工程結(jié)構(gòu)(總結(jié)和工程實踐)

2024-07-16 17:46:16
字體:
供稿:網(wǎng)友

好的架構(gòu)不是設(shè)計出來的,而是進化而來的!本文是一位學習iOS開發(fā)者根據(jù)多年的經(jīng)驗總結(jié)了iOS工程結(jié)構(gòu),穩(wěn)重總結(jié)了在開發(fā)iOS項目中工程實踐,非常實用,推薦過來,一起來看看吧,希望對大家有所幫助

130813_FT_MandatoryCodeAcademy.jpg.CROP.rectangle3-large.jpg

寫在前面

從2011年底開始學習iOS開發(fā),到現(xiàn)在也已經(jīng)快3年了,雖然中途沒有一直進行iOS的開發(fā)(總是在Android和iOS間切換),但始終沒有離開,而我現(xiàn)在的工作也一樣,在iOS和Android間來回游走,正如我博客的slogan一樣,“In Android&iOS”。其實對我來說,兩個平臺沒有絕對的好壞,我都喜歡、我都熱愛。有人會說,同樣的產(chǎn)品在不同平臺做兩次不會覺得厭煩嗎?這個問題我會給出肯定的回答,不會!因為如果你真的喜歡你所做的產(chǎn)品,做多少次都不會覺得煩,每一次的復盤都是一次改進的過程,很多創(chuàng)新都是在重復的工作中產(chǎn)生的。在技術(shù)層面,同一套思想用不同的技術(shù)來實現(xiàn),本身就是一個加強對不同平臺技術(shù)鞏固和理解的過程,技術(shù)本來就是來承載和表現(xiàn)業(yè)務(wù)的,在實現(xiàn)業(yè)務(wù)的過程中加強對業(yè)務(wù)的理解、實現(xiàn)對業(yè)務(wù)的創(chuàng)新,這或許也就是堆代碼和寫程序的區(qū)別吧!^_^

我的iOS工程結(jié)構(gòu)

接下來,我就簡單介紹下我做iOS項目時使用的工程結(jié)構(gòu)。首先要說的是,這只是我的工程結(jié)構(gòu),并不是規(guī)范,或許它存在很多問題和不規(guī)范的地方,我只是把它分享出來,給大家提供一個參考,也希望收到大家的一些反饋來幫助我改進!

項目結(jié)構(gòu)

下圖是我做iOS項目的一個常用工程結(jié)構(gòu),整體模式還是按照MVC的結(jié)構(gòu),只是在每一層做了一些細分處理,下面就簡單介紹下。

1.png

iOS工程中沒有像Java那樣非常嚴格的分包機制,不過在iOS工程中我們也可以通過Group的方式在工程中實現(xiàn)邏輯分包,這樣更有利于我們組織和管理代碼,使工程結(jié)構(gòu)更清晰和易于理解。在我的工程結(jié)構(gòu)中,主要有如下group:

Application:這個group中放的是AppDelegate和一些系統(tǒng)常量及系統(tǒng)配置文件;

Base:一些基本父類,包括父ViewController和一些公用頂層自定義父類,其他模塊的類一般都繼承自這里的一些類;

Controller:系統(tǒng)控制層,放置ViewController,均繼承于Group Base中的BaseViewController或BaseTableViewController;

View:系統(tǒng)中視圖層,由于我比較喜歡通過代碼實現(xiàn)界面,所以這里放的都是繼承于UIView的視圖,我將視圖從ViewController中分離出來全部放在這里,這樣能保持ViewController的精簡;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阜新市| 竹北市| 长治县| 包头市| 望奎县| 裕民县| 乌兰浩特市| 迭部县| 洛川县| 大新县| 惠安县| 米脂县| 伊通| 娱乐| 安陆市| 墨脱县| 岚皋县| 双牌县| 武强县| 长宁县| 宁津县| 和政县| 修水县| 博白县| 芒康县| 阿合奇县| 九龙坡区| 娱乐| 堆龙德庆县| 嘉定区| 凌源市| 沧州市| 唐海县| 礼泉县| 太康县| 承德市| 延边| 镇巴县| 屏山县| 郓城县| 株洲市|