iOS项目的目录结构和开发流程


网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法。

目录结构
AppDelegate
Models
Macro
General
Helpers
Vendors
Sections
Resources
 
一个合理的目录结构首先应该是清晰的,让人一眼看上去就能大概了解目录的职责,且容易应对新的变化。
 
AppDelegate
这个目录下放的是AppDelegate.h(.m)文件,是整个应用的入口文件,所以单独拿出来。
 
Models
这个目录下放一些与数据相关的Model文件,里面大概是这样:
 
Models
    |- BaseModel.h
    |- BaseModel.m
    |- CollectionModel.h
    |- CollectionModel.m
    ...
 
Macro
这个目录下放了整个应用会用到的宏定义,里面大概是这样:
Macro
    |- AppMacro.h
    |- NotificationMacro.h
    |- VendorMacro.h
    |- UtilsMacro.h
    ...
 
AppMacro.h 里放app相关的宏定义,如:
// 表情相关
#define EMOTION_CACHE_PATH @"cachedemotions"
#define EMOTION_RECENT_USED @"recentusedemotions"
#define EMOTION_CATEGORIES @"categoryemotions"
#define EMOTION_TOPICS @"emotiontopics"
 
// 收藏相关
#define COLLECT_CACHE_PATH @"collected"
 
// 配图相关
#define WATERFALL_ITEM_HEIGHT_MAX 300
#define WATERFALL_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 @"xxxxx"
#define UMENG_CHANNEL_ID @"xxx"
 
如果有新的类型的宏定义,可以再新建一个相关的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瘦身,也可以提供一定程度的复用。
 
Vendors
这个目录放第三方的类库/SDK,如UMeng、WeiboSDK、WeixinSDK等等。
 
Sections
这个目录下面的文件对应的是app的具体单元,如导航、瀑布流等等。里面大概是这样:
Sections
    |- Menu
    |- Setting
    |- Collection
    ...
 
Resources
这个目录下放的是app会用到的一些资源,主要是图片。
 
Cocoapods
业务无关的类库可以通过 Cocoapods 来方便地管理,如SDWebImage, Reachability等等。还有一些是多个应用都会用到的基础模块,比如HBAPI、HBSNS 、HBFoundation(HB为公司名首字母)等等,可以建一个私有的git repo,然后加到podfile中,这样如果HBAPI有更新,只需要pod update一下就行了。
 
顺便说一下HBFoundation,这个git仓库中可以放一些自己写的所有应用基本上都会用到的小模块。如很多app都会有隔一段时间跳出一个求好评的alertView,就可以写一个HBRating类,这样需要使用该功能的app只需加上一句:[HBRating checkIfShouldPopupWithAppID:(NSInteger)appID]就行了。又比如app都有接受push notification的需求,可以写一个HBAPNS类,等等。
 
开发流程
在拿到设计图后,就可以针对设计图抽离出可复用的Classes/Views/Helpers,考虑一下某个效果的具体实现,使用合适的设计模式来避免大量的if/else嵌套,等等。不要一下子就钻到Sections中去实现页面效果和功能,初看起来可能会快一点,但只要有点复杂度的项目,这种做法到后来只会吃尽苦头,代码会变的越来越难维护。所以前期一定要做好充足的准备工作。
 
经验有限,如果你有更好的想法,欢迎交流:)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: iOS小游戏开发项目一般包含源码。源码是指开发者编写的源代码,通常以程序员可读的形式呈现。对于购买iOS小游戏开发项目的用户来说,获得源码具有以下几个优势。 首先,源码使用户能够深入了解游戏的开发细节。通过阅读源码,用户可以了解到游戏的具体实现逻辑、算法和设计思路等。这有助于用户更好地理解游戏的运行机制,为游戏开发以及其他相关项目提供借鉴和学习的机会。 其次,源码使用户具有修改和定制游戏的能力。源码是开发者编写游戏的基础,用户可以根据自己的需求和喜好进行修改和定制。这包括对游戏功能、界面设计、关卡设置等方面的调整,使游戏更符合用户的个性化需求和品味。 再次,源码为用户提供了学习iOS游戏开发的资源。对于有一定编程基础或对游戏开发感兴趣的用户来说,源码是学习iOS游戏开发的宝贵资料。用户可以通过研究源码,学习到iOS开发的技巧和实践经验,提高自己的编程能力。 最后,源码提供了技术支持和后期维护的便利。在购买iOS小游戏开发项目时,通常会获得技术支持和更新的服务。通过源码,用户可以更好地理解开发者提供的支持和更新内容,使得游戏的维护和升级更加便利。 综上所述,购买iOS小游戏开发项目包含源码,对用户来说具有很多优势,既有助于深入了解游戏的开发细节,又有能力进行游戏的修改和定制,同时还提供了学习和技术支持的资源。 ### 回答2: iOS小游戏开发项目包含源码,意味着该项目提供了游戏的开发源代码。这为开发者提供了一个学习和参考的机会,他们可以深入了解游戏的设计和编程逻辑。此外,源码还可以用于二次开发,即根据自己的需求进行修改和定制,以创建自己独特的游戏。 在iOS小游戏开发项目中,源码通常包含了游戏的各个方面,例如游戏界面、角色动画、游戏逻辑等。这样,开发者可以学习和理解游戏开发的不同环节,并将其应用到自己的开发项目中。 源码还可以帮助开发者节省时间和精力。通过使用源码,开发者可以快速搭建起一个游戏框架,然后根据自己的需求进行修改和扩展。这样,他们可以更加专注于游戏的创意和玩法,而不需要从头开始编写代码。 另外,源码还可以提供一些最佳实践和编码规范,帮助开发者写出更高质量的代码。通过阅读和理解源码,开发者可以学习到一些优化和提升游戏性能的技巧,以及如何处理游戏中的各种问题和异常情况。 综上所述,iOS小游戏开发项目包含源码是对开发者来说非常有价值的。它提供了学习和参考的机会,帮助开发者快速构建游戏框架,节省时间和精力,并提供一些最佳实践和编码规范。通过源码,开发者可以更好地理解游戏开发的不同环节,并将其应用到自己的开发项目中。 ### 回答3: iOS小游戏开发项目包含源码是指一个完整的iOS小游戏开发项目,其中提供了游戏的源代码。源代码是指程序员编写的游戏逻辑和功能的代码,它是游戏开发过程中最核心的部分。 一个典型的iOS小游戏开发项目包含源码可能包括以下内容: 首先,游戏的项目文件。这些文件包括游戏的整体结构和配置,例如Xcode项目文件和相关设置。开发者可以使用这些文件对游戏进行编辑、编译和运行。 其次,游戏的源代码文件。这些文件包括游戏的各种功能和逻辑的实现。例如,游戏的界面、游戏中的角色、游戏规则等等。开发者可以通过阅读和修改这些源代码文件来定制和扩展游戏的功能。 此外,游戏可能还包含资源文件,如图像、声音和动画等。这些资源为游戏提供了视觉和听觉上的丰富体验,开发者可以根据需要对这些资源进行修改和替换。 最后,项目可能还包含相关的文档和说明。这些文档和说明可以帮助开发者更好地理解游戏的源码和项目结构,以便于进行二次开发和维护。 总之,iOS小游戏开发项目包含源码是为了让其他开发者能够更好地理解和学习游戏的开发过程,并有机会对游戏进行二次开发和定制。而对于游戏开发者来说,分享源码也可以为其获得更多的反馈和支持,提高游戏的质量和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值