- 浏览: 906038 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (466)
- iPhone, iOS , Objective-c (155)
- 数据库 (20)
- 设计模式 (5)
- 第三方包管理,cocoapod (2)
- 版本管理, SVN, Subversion, Git (1)
- Google, Android, Java (14)
- Wordpress (1)
- 职业素养 (3)
- 版本管理,git (3)
- 前端小技巧 (2)
- flash (1)
- javascript (5)
- Ruby (0)
- 编程语言 (1)
- 网络常识 (1)
- 找到生活好感觉 (5)
- 产品经理 (1)
- markdown (1)
- 云服务器 (1)
- iPhone (116)
- iOS (116)
- Objective-c (116)
- 学习技巧 (2)
- Google (5)
- Android (6)
- Java (21)
- python (1)
- sqlite (3)
- node.js (2)
- mongodb (2)
- 学习技巧,阅读 (2)
- 软件测试 (3)
- 架构设计 (2)
- 设计 (1)
- Spring framework (3)
- junit (1)
- Linux (2)
- 软件 (1)
- Struts2 (1)
- 版本管理 (3)
- SVN (3)
- Subversion (3)
- Git (3)
- mysql (5)
- quartz (1)
- 无关技术 (1)
- 前端 (1)
- Redis (1)
- 产品管理 (0)
- 计算机常识 (1)
- 计算机科学 (0)
- swift (1)
- 服务器 (2)
- 搜索 (1)
- Scala (1)
- J2EE (1)
- maven (1)
- 前端css (1)
- 英语 (1)
- 消息队列 (1)
- kafka (0)
- apache kafka (4)
- netbeans (1)
- IDE (2)
- 歌词 (1)
- 过滤器实现 (1)
- linux vim vi (1)
- jmeter (1)
- springcloud (1)
最新评论
-
hujingnemo:
不知道为什么打不开
CHM如何改编字体大小 -
weiboyuan:
求答案 weiboyuanios@163.com
iOS软件工程师面试题(高级) -
xueji5368:
这个现在已经广泛使用了嘛!
RoboGuice入门 -
Yao__Shun__Yu:
...
CHM如何改编字体大小 -
353144886:
非常之详细 美女求认识
sqlite数据类型 datetime处理
好的架构不是设计出来的,而是进行出来的。
我的iOS工程架构
项目结构
Application:这个group中放的是AppDelegate和一些系统常量及系统配置文件;
Base:一些基本父类,包括父ViewController和一些公用顶层自定义父类,其他模块的类一般都继承自这里的一些类;
Controller:系统控制层,放置ViewController,均继承于Group Base中的BaseViewController或BaseTableViewController;
View:系统中视图层,由于我比较喜欢通过代码实现界面,所以这里放的都是继承于UIView的视图,我将视图从ViewController中分离出来全部放在这里,这样能保持ViewController的精简;
Model:系统中的实体,通过类来描述系统中的一些角色和业务,同时包含对应这些角色和业务的处理逻辑;
Handler:系统业务逻辑层,负责处理系统复杂业务逻辑,上层调用者是ViewController;
Storage:简单数据存储,主要是一些键值对存储及系统外部文件的存取,包括对NSUserDefault和plist存取的封装;
Network:网络处理层(RTHttpClient),封装了基于AFNetworking的网络处理层,通过block实现处理结果的回调,上层调用者是Handler层;
Database:数据层,封装基于FMDB的sqlite数据库存取和管理(RTDatabaseHelper),对外提供基于Model层对象的调用接口,封装对数据的存储过程。
Utils:系统工具类(AppUtils),主要放置一些系统常用工具类;
Categories:类别,对现有系统类和自定义类的扩展;
Resource:资源库,包括图片,plist文件等;
我的iOS工程架构
项目结构
Application:这个group中放的是AppDelegate和一些系统常量及系统配置文件;
Base:一些基本父类,包括父ViewController和一些公用顶层自定义父类,其他模块的类一般都继承自这里的一些类;
Controller:系统控制层,放置ViewController,均继承于Group Base中的BaseViewController或BaseTableViewController;
View:系统中视图层,由于我比较喜欢通过代码实现界面,所以这里放的都是继承于UIView的视图,我将视图从ViewController中分离出来全部放在这里,这样能保持ViewController的精简;
Model:系统中的实体,通过类来描述系统中的一些角色和业务,同时包含对应这些角色和业务的处理逻辑;
Handler:系统业务逻辑层,负责处理系统复杂业务逻辑,上层调用者是ViewController;
Storage:简单数据存储,主要是一些键值对存储及系统外部文件的存取,包括对NSUserDefault和plist存取的封装;
Network:网络处理层(RTHttpClient),封装了基于AFNetworking的网络处理层,通过block实现处理结果的回调,上层调用者是Handler层;
Database:数据层,封装基于FMDB的sqlite数据库存取和管理(RTDatabaseHelper),对外提供基于Model层对象的调用接口,封装对数据的存储过程。
Utils:系统工具类(AppUtils),主要放置一些系统常用工具类;
Categories:类别,对现有系统类和自定义类的扩展;
Resource:资源库,包括图片,plist文件等;
发表评论
-
oc为啥不用try catch
2016-03-23 11:56 1411简单的来说,Apple虽然同时提供了错误处理(NSError) ... -
ReactiveCocoa笔记
2016-03-14 12:31 0为什么使用MVVM?为什么使用ReactiveCocoa? 概 ... -
PINCache
2016-01-19 15:11 953PINCache是线程安全的键值缓存框架,用来储存难以获取或重 ... -
Swift设计模式
2015-12-29 12:04 0Swift设计模式 -
Understanding Swift access control
2015-12-29 12:03 0Swift takes an unusual approuac ... -
cocoapods因GEM_HOME升级遇到问题解决办法
2015-12-17 14:40 929Installing CocoaPods on OS X 10 ... -
swift 闭包的比较写法
2015-12-16 11:10 757let names = ["Chris", ... -
iOS 生成二维码,生成条形码图片
2015-12-03 15:44 1476#pragma mark - 生成条形码以及二维码 // ... -
解决cocoapods 更新慢的问题
2015-11-23 17:01 760最近使用CocoaPods来添加第三方类库,无论是执行pod ... -
iOS中级面试题
2015-11-20 15:12 1188OneV‘s Den在博客里出了10道iOS面试题,用他的话是 ... -
cocoapods出错解决方法
2015-11-09 13:09 748自定义GEM_HOME $ mkdir -p $HOME/So ... -
oc时间从美国时间改到中国时间
2015-10-19 14:12 984_formatter = [[NSDateFormatt ... -
27个iOS开发库
2015-07-24 16:10 774超长慎入列表: DZNEmptyDataSet(UI,空表格 ... -
Values of type 'NSInteger' should not be used as format arguments; add an explic
2015-07-24 10:10 848Values of type 'NSInteger' shou ... -
UICollectionView NSInternalInconsistencyException出现的原因
2015-05-11 11:32 3415'NSInternalInconsistencyExcepti ... -
XLForm-iOS表单库
2015-05-08 14:44 914XLForm是最灵活和强大的iOS类库,用于创建动态table ... -
Info.plist Utility Error: “Info.plist couldn't be opened because there is no suc
2015-05-06 16:13 694http://stackoverflow.com/questi ... -
iOS中Autolayout中各种情况的使用的width,height策略
2015-04-30 15:33 689可以总结为: 如果项目不支持横屏显示,使用w:Compac ... -
一句话加上下拉刷新
2015-04-29 18:22 773怎么一句话添加上拉刷新? https://github.co ... -
iOS8.3按钮图片的消失原因
2015-04-29 12:37 5791.没有3x图片 升级到iOS8之后,需要3x的图片 2.U ...
相关推荐
本文档将详细介绍iOS开发的核心概念,并分享一些个人的心得体会。 #### iOS开发的核心概念 ##### 1. **MVC架构模式** - **定义与作用**:MVC(Model-View-Controller)架构模式是iOS开发中最常用的设计模式之一。...
"BLOG" 标签则提示我们可以通过博客获取更丰富的上下文信息,如开发者的心得体会、技术讲解等。 【压缩包子文件的文件名称】"Demo1" 代表这是项目的一个示例或第一个版本。通常,这将包含项目的 Xcode 工程文件(....
6. **网络设计**:尽管CCNA认证不深入设计层面,但实验可能会引导学习者理解基本的网络拓扑结构,如星型、环形、总线型和网状网络,以及如何根据需求选择合适的网络架构。 通过这些实验,学习者不仅可以理论联系...
在Mac OS X平台上进行桌面软件开发,涉及到一系列的技术和工具,本文主要分享了一些开发者的心得体会。首先,我们要认识到Mac OS X系统与Windows系统在底层架构上的差异,这对于跨平台开发至关重要。 Mac OS X是...
这份PPT内容很可能包含着高焕堂老师在Android开发领域的心得体会、实践经验,以及他对于技术趋势的独到见解。这样的PPT能够帮助开发者更好地理解Android系统的架构,掌握其编程模型,学习高效开发的技巧,并最终实现...
- **16-24小时**:实训成果验收、考核,撰写实训报告,分享心得与体会,提出不足与改进建议。 #### 实训需求与资料来源 实训过程中,学生需利用网络资源、电子图书等参考资料,以及《计算机网络工程与实践》教材,...
9. 科技创新与案例研究:讲述科技创新的故事、新兴企业的成功案例、创业者的心得体会,以及科技如何解决具体问题的案例分析。 为了满足您对于知识点内容的要求,以上列出了《电脑报》可能包含的广泛知识点。在实际...
在深入探讨Delphi这一强大的开发工具之前,我们首先需要理解什么是Delphi。...通过文件名我们可以推测,这份资料可能是作者学习Delphi的心得体会,对于想要学习或正在学习Delphi的人来说,可能会是一份有价值的参考。
【标题】:“CSDN 论坛精华”指的是在CSDN(China Software ...这些精华内容不仅提供了技术上的指导,还可能包含了开发者的心得体会、社区热点讨论和行业动态,对于提升个人技术水平和了解行业趋势具有很高的价值。
4. **《游戏之旅——我的编程感悟》** —— 作者云风分享了他在游戏开发过程中的心得体会,适合所有对游戏开发感兴趣的读者。 5. **DirectX 9 手册** —— 特别是 DirectDraw、DirectSound、DirectShow、DirectInput...
实验报告的内容通常包括设计任务与目的、设计思路、总体设计、详细设计、体会与心得、参考文献、附代码及部分截图界面等。教师通过这些方面的完成情况来进行综合评定,最终评定结果一般按照优、良、中、合格、不合格...
- **操作系统**:iOS 12.0.1 - **机型**:iPhone 8 - **体验时间**:2019年1月 #### 二、产品简介 网易蜗牛读书是一款专注于提供沉浸式、简洁的电子阅读体验的应用程序。其目标是为热爱阅读的用户提供一个优质的...