**的部落格
網上相關的資源不多,開源的且質量還不錯的ios專案也是少之又少,最近正好跟同事合作了乙個ios專案,來說說自己的一些想法。
目錄結構
models
macro
general
helpers
vendors
sections
resources
乙個合理的目錄結構首先應該是清晰的,讓人一眼看上去就能大概了解目錄的職責,且容易應對新的變化。
models
這個目錄下放一些與資料相關的model檔案,裡面大概是這樣:
models
|- basemodel.h
|- basemodel.m
|- collectionmodel.h
|- collectionmodel.m
...macro
這個目錄下放了整個應用會用到的巨集定義,裡面大概是這樣:
macro
|- notificationmacro.h
|- vendormacro.h
|- utilsmacro.h
...
// 表情相關
#define emotion_cache_path @"cachedemotions"
#define emotion_recent_used @"recentusedemotions"
#define emotion_categories @"categoryemotions"
#define emotion_topics @"emotiontopics"
// 收藏相關
#define collect_cache_path @"collected"
// 配圖相關
#define wate***ll_item_height_max 300
#define wate***ll_item_width 146
notificationmacro.h 裡放的是通知相關的巨集定義。
utilsmacro.h 裡放的是一些方便使用的巨集定義,如:
#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 裡放一些第三方常量,如:
#define umeng_key @"***xx"
#define umeng_channel_id @"***"
如果有新的型別的巨集定義,可以再新建乙個相關的macro.h。
general
這個目錄放會被重用的views/classes和categories。裡面大概是這樣:
general
|- views
|- tpkscollview
|- tpkpulltorefresh
...|- classes
|- tpkbaseviewcontroller
|- tpkhorizontalview
...| - categories
|- uiviewcontroller+sizzle
|- uiimageview+**********
...這裡的tpk是專案的首字母縮寫。
helpers
這個目錄放一些助手類,檔名與功能掛鉤。裡面大概是這樣:
helpers
|- tpksharehelper
|- tpdbhelper
|- tpkemotionhelper
...助手類的主要作用是幫助controller**,也可以提供一定程度的復用。
vendors
這個目錄放第三方的類庫/sdk,如umeng、weibosdk、weixinsdk等等。
sections
sections
|- menu
|- setting
|- collection
...resources
cocoapods
業務無關的類庫可以通過 cocoapods 來方便地管理,如sdwebimage, reachability等等。還有一些是多個應用都會用到的基礎模組,比如hbapi、hbsns 、hbfoundation(hb為公司名首字母)等等,可以建乙個私有的git repo,然後加到podfile中,這樣如果hbapi有更新,只需要pod update一下就行了。
開發流程
在拿到設計圖後,就可以針對設計圖抽離出可復用的classes/views/helpers,考慮一下某個效果的具體實現,使用合適的設計模式來避免大量的if/else巢狀,等等。不要一下子就鑽到sections中去實現頁面效果和功能,初看起來可能會快一點,但只要有點複雜度的專案,這種做法到後來只會吃盡苦頭,**會變的越來越難維護。所以前期一定要做好充足的準備工作。
iOS專案的目錄結構和開發流程
網上相關的資源不多,開源的且質量還不錯的ios專案也是少之又少,最近正好跟同事合作了乙個ios專案,來說說自己的一些想法。models macro general helpers vendors sections resources 乙個合理的目錄結構首先應該是清晰的,讓人一眼看上去就能大概了解目錄...
iOS專案的目錄結構和開發流程
網上相關的資源不多,開源的且質量還不錯的ios專案也是少之又少,最近正好跟同事合作了乙個ios專案,來說說自己的一些想法.乙個合理的目錄結構首先應該是清晰的,讓人一眼看上去就能大概了解目錄的職責,且容易應對新的變化。models basemodel.h basemodel.m collectionm...
iOS專案的目錄結構和開發流程
對專案結構的不錯示例 乙個合理的目錄結構首先應該是清晰的,讓人一眼看上去就能大概了解目錄的職責,且容易應對新的變化。models models basemodel.h basemodel.m collectionmodel.h collectionmodel.m macro 這個目錄下放了整個應用會...