iOS專案的目錄結構和開發流程

2021-09-08 19:37:51 字數 2316 閱讀 6082

網上相關的資源不多,開源的且質量還不錯的ios專案也是少之又少,最近正好跟同事合作了乙個ios專案,來說說自己的一些想法。

乙個合理的目錄結構首先應該是清晰的,讓人一眼看上去就能大概了解目錄的職責,且容易應對新的變化。

models

|- basemodel.h

|- basemodel.m

|- collectionmodel.h

|- collectionmodel.m

...

這個目錄下放了整個應用會用到的巨集定義,裡面大概是這樣:

// 表情相關

#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。

這個目錄放會被重用的views/classes和categories。裡面大概是這樣:

general

|- views

|- tpkscollview

|- tpkpulltorefresh

...|- classes

|- tpkbaseviewcontroller

|- tpkhorizontalview

...| - categories

|- uiviewcontroller+sizzle

|- uiimageview+**********

...

這裡的tpk是專案的首字母縮寫。

這個目錄放一些助手類,檔名與功能掛鉤。裡面大概是這樣:

helpers

|- tpksharehelper

|- tpdbhelper

|- tpkemotionhelper

...

助手類的主要作用是幫助controller**,也可以提供一定程度的復用。

這個目錄放第三方的類庫/sdk,如umeng、weibosdk、weixinsdk等等。

sections

|- menu

|- setting

|- collection

...

業務無關的類庫可以通過 cocoapods 來方便地管理,如sdwebimage,reachability等等。還有一些是多個應用都會用到的基礎模組,比如hbapi、hbsns 、hbfoundation(hb為公司名首字母)等等,可以建乙個私有的git repo,然後加到podfile中,這樣如果hbapi有更新,只需要pod update一下就行了。

在拿到設計圖後,就可以針對設計圖抽離出可復用的classes/views/helpers,考慮一下某個效果的具體實現,使用合適的設計模式來避免大量的if/else巢狀,等等。不要一下子就鑽到sections中去實現頁面效果和功能,初看起來可能會快一點,但只要有點複雜度的專案,這種做法到後來只會吃盡苦頭,**會變的越來越難維護。所以前期一定要做好充足的準備工作。

--eof--

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 這個目錄下放了整個應用會...