最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Xcode中iOS應(yīng)用開發(fā)的一般項目目錄結(jié)構(gòu)和流程簡介

 更新時間:2016年02月23日 09:08:04   作者:蘋果吧  
這篇文章主要介紹了Xcode中iOS應(yīng)用開發(fā)的一般項目目錄結(jié)構(gòu)和流程簡介,包括項目所需的一些平臺路徑如模擬器路徑等的介紹,需要的朋友可以參考下

項目所需的平臺路徑
1.開發(fā)平臺路徑:

/Developer/Platforms

此路徑下一般有三個目錄,分別是mac電腦、模擬器、iphone真機(jī)

  • MacOSX.platform       
  • iPhoneSimulator.platform
  • iPhoneOS.platform
  • 每個目錄下都有一個/Developer/usr/bin目錄,放置開發(fā)中需要的程序

總的目錄比如:/Developer/Platforms/*/Developer/usr/bin/

注意:*代表上面上個目錄中的一個,具體是哪個看目標(biāo)平臺的需求

 

2.模擬器路徑:

/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications

里面有模擬器的可執(zhí)行文件iPhone Simulator.app

 

3.sdk路徑:

真機(jī):

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk

模擬器: 

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk

 

4. app路徑

真機(jī):

/var/mobile/Applications/4434-4453A-B453-4ADF4535345ADAF344

   后面的目錄4434-4453A-B453-4ADF4535345ADAF344是iphone自動生成的,里面的文件或目錄包括:

 ?。?)app目錄 test.app

  (2)文檔目錄 Documents

 ?。?)庫目錄 Library

 ?。?)臨時目錄 tmp

  Documents目錄,可以放置用戶保存的數(shù)據(jù),可以同步到icould

  Library目錄,包括:緩存目錄Caches,用戶偏好目錄Preferences(存放NSUserDefaults保存的.plist)

項目目錄結(jié)構(gòu)和開發(fā)流程

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

  • AppDelegate
  • Models
  • Macro
  • General
  • Helpers
  • Vendors
  • Sections
  • Resources

一個合理的目錄結(jié)構(gòu)首先應(yīng)該是清晰的,讓人一眼看上去就能大概了解目錄的職責(zé),且容易應(yīng)對新的變化。
 
AppDelegate
這個目錄下放的是AppDelegate.h(.m)文件,是整個應(yīng)用的入口文件,所以單獨拿出來。
 
Models
這個目錄下放一些與數(shù)據(jù)相關(guān)的Model文件,里面大概是這樣:
 

Models
  |- BaseModel.h
  |- BaseModel.m
  |- CollectionModel.h
  |- CollectionModel.m
  ...

 
Macro
這個目錄下放了整個應(yīng)用會用到的宏定義,里面大概是這樣:

Macro
  |- AppMacro.h
  |- NotificationMacro.h
  |- VendorMacro.h
  |- UtilsMacro.h
  ...

 
AppMacro.h 里放app相關(guān)的宏定義,如:

復(fù)制代碼 代碼如下:

// 表情相關(guān)
#define EMOTION_CACHE_PATH @"cachedemotions"
#define EMOTION_RECENT_USED @"recentusedemotions"
#define EMOTION_CATEGORIES @"categoryemotions"
#define EMOTION_TOPICS @"emotiontopics"
 
// 收藏相關(guān)
#define COLLECT_CACHE_PATH @"collected"
 
// 配圖相關(guān)
#define WATERFALL_ITEM_HEIGHT_MAX 300
#define WATERFALL_ITEM_WIDTH 146
 

NotificationMacro.h 里放的是通知相關(guān)的宏定義。
 
UtilsMacro.h 里放的是一些方便使用的宏定義,如:
復(fù)制代碼 代碼如下:

#define UIColorFromRGB(r,g,b) [UIColor \
colorWithRed:r/255.0 \
green:g/255.0 \
blue:b/255.0 alpha:1]
 
#define NSStringFromInt(intValue) [NSString stringWithFormat:@"%d",intValue]

VendorMacro.h 里放一些第三方常量,如:
復(fù)制代碼 代碼如下:

#define UMENG_KEY @"xxxxx"
#define UMENG_CHANNEL_ID @"xxx"

如果有新的類型的宏定義,可以再新建一個相關(guān)的Macro.h。
 
General
這個目錄放會被重用的Views/Classes和Categories。里面大概是這樣:

General
  |- Views
    |- TPKScollView
    |- TPKPullToRefresh
    ...
  |- Classes
    |- TPKBaseViewController
    |- TPKHorizontalView
    ...
  | - Categories
    |- UIViewController+Sizzle
    |- UIImageView+Downloader
    ...

這里的TPK是項目的首字母縮寫。
 
Helpers
這個目錄放一些助手類,文件名與功能掛鉤。里面大概是這樣:

Helpers
  |- TPKShareHelper
  |- TPDBHelper
  |- TPKEmotionHelper
  ...

 
助手類的主要作用是幫助Controller瘦身,也可以提供一定程度的復(fù)用。
 
Vendors
這個目錄放第三方的類庫/SDK,如UMeng、WeiboSDK、WeixinSDK等等。
 
Sections
這個目錄下面的文件對應(yīng)的是app的具體單元,如導(dǎo)航、瀑布流等等。里面大概是這樣:

Sections
  |- Menu
  |- Setting
  |- Collection
  ...

 
Resources
這個目錄下放的是app會用到的一些資源,主要是圖片。
 
Cocoapods
業(yè)務(wù)無關(guān)的類庫可以通過 Cocoapods 來方便地管理,如SDWebImage, Reachability等等。還有一些是多個應(yīng)用都會用到的基礎(chǔ)模塊,比如HBAPI、HBSNS 、HBFoundation(HB為公司名首字母)等等,可以建一個私有的git repo,然后加到podfile中,這樣如果HBAPI有更新,只需要pod update一下就行了。
 
順便說一下HBFoundation,這個git倉庫中可以放一些自己寫的所有應(yīng)用基本上都會用到的小模塊。如很多app都會有隔一段時間跳出一個求好評的alertView,就可以寫一個HBRating類,這樣需要使用該功能的app只需加上一句:[HBRating checkIfShouldPopupWithAppID:(NSInteger)appID]就行了。又比如app都有接受push notification的需求,可以寫一個HBAPNS類,等等。
 
開發(fā)流程
在拿到設(shè)計圖后,就可以針對設(shè)計圖抽離出可復(fù)用的Classes/Views/Helpers,考慮一下某個效果的具體實現(xiàn),使用合適的設(shè)計模式來避免大量的if/else嵌套,等等。不要一下子就鉆到Sections中去實現(xiàn)頁面效果和功能,初看起來可能會快一點,但只要有點復(fù)雜度的項目,這種做法到后來只會吃盡苦頭,代碼會變的越來越難維護(hù)。所以前期一定要做好充足的準(zhǔn)備工作。

相關(guān)文章

  • iOS NSURLSessionDownloadTask實現(xiàn)文件斷點下載的方法

    iOS NSURLSessionDownloadTask實現(xiàn)文件斷點下載的方法

    本篇文章主要介紹了iOS NSURLSessionDownloadTask實現(xiàn)文件斷點下載的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • iOS動畫案例(1) 類似于qq賬號信息里的一個動畫效果

    iOS動畫案例(1) 類似于qq賬號信息里的一個動畫效果

    做一個類似于qq賬號信息里的一個動畫,感覺挺有意思,下面給大家分享iOS動畫案例(1) 類似于qq賬號信息里的一個動畫效果,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-01-01
  • iOS中捕獲日志與異常示例詳解

    iOS中捕獲日志與異常示例詳解

    在日常的工作中,日志是不可缺少的一個環(huán)節(jié),下面這篇文章主要給大家介紹了iOS中捕獲日志與異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • iOS 指壓即達(dá)集成iOS9里的3D Touch的方法

    iOS 指壓即達(dá)集成iOS9里的3D Touch的方法

    這篇文章主要介紹了iOS 指壓即達(dá)集成iOS9里的3D Touch的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • IOS開發(fā)中禁止NavigationController的向右滑動返回

    IOS開發(fā)中禁止NavigationController的向右滑動返回

    這篇文章主要介紹了IOS開發(fā)中禁止NavigationController的向右滑動返回的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • iOS自定義UIScrollView的滾動條實例代碼

    iOS自定義UIScrollView的滾動條實例代碼

    本篇文章主要介紹了iOS自定義UIScrollView的滾動條實例代碼,詳細(xì)的介紹了自定義滾動條的示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • iOS圖片實現(xiàn)可拉伸不變形的處理操作

    iOS圖片實現(xiàn)可拉伸不變形的處理操作

    這篇文章主要為大家詳細(xì)介紹了iOS圖片實現(xiàn)可拉伸不變形的處理操作,通過UIImage對象調(diào)用該方法,并且傳入要拉伸的圖片的名字作為參數(shù),實現(xiàn)返回一個可拉伸不變形的圖片,感興趣的小伙伴們可以參考一下
    2016-05-05
  • iOS中封裝.framework及使用的方法詳解

    iOS中封裝.framework及使用的方法詳解

    這篇文章主要給大家介紹了關(guān)于iOS中封裝.framework及使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • iOS開發(fā)教程之APP內(nèi)部切換語言的實現(xiàn)方法

    iOS開發(fā)教程之APP內(nèi)部切換語言的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于iOS開發(fā)教程之APP內(nèi)部切換語言的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 快速解決低版本Xcode不支持高版本iOS真機(jī)調(diào)試的問題方法

    快速解決低版本Xcode不支持高版本iOS真機(jī)調(diào)試的問題方法

    這篇文章主要介紹了快速解決低版本Xcode不支持高版本iOS真機(jī)調(diào)試的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02

最新評論

柘荣县| 桐梓县| 浙江省| 财经| 剑阁县| 泸定县| 梁山县| 咸阳市| 虹口区| 包头市| 余干县| 丰城市| 凤山县| 牡丹江市| 茌平县| 建湖县| 乌审旗| 喀喇| 武威市| 简阳市| 湟中县| 宁津县| 呼玛县| 通山县| 台前县| 新疆| 崇明县| 长垣县| 洞头县| 辛集市| 米易县| 玉龙| 台中市| 津南区| 泸定县| 利辛县| 克拉玛依市| 邹城市| 宁城县| 沐川县| 木里|