先理下脉络,后续会逐渐丰富.本来想只总结一些开发的经验,而不涉及具体的代码的,但好像效果不好。接下来我会逐渐丰富细节。
iOS开发中的主要工作其实只是UI搭建和数据处理还有响应用户的操作,但如果是一个人玩的话就得涉及到配置服务了。
开发模式
无论我们是否注意自己开发工作的开发模式,我们都能很好的完成任务。但是,养成一种健康合理的开发模式确实保证APP健康成长的关键!!!
1. UI搭建
UI搭建中最重要的是控制器的使用和高级容器控件(UITableView和UICollectionView)的使用,以及基础控件的有机组合和嵌套。
UITabBarController+UINavigationController+UIViewController构成软件的骨骼
- UITabBarController
- UINavigationController
- UIViewController
视图控制器是iOS开发中最重要的视图集合单元,在MVC中其角色是View和Model交互控制器,并且响应用户的操作,在MVVM中则主要是View的集合和拓展已经用户的操作。 - 模态视图控制器
- 其他视图控制器
UITableView+UICollectionView+基础控件构成软件的血肉
基本我们所遇到的页面都是需要滚动的,滚动无非是横向滚动和竖向滚动两种,而滚动的范围如果很大毫无疑问要涉及到复用。所以tableView和collectionView就会显得很好用了,如果只是竖向滚动就用tableView,如果是横向滚动就用collectionView
- UITableView使用心得
- UICollectionView使用心得
- 基础控件的组合和嵌套
基础控件的组合和嵌套我的经验是把一个APP界面划分为头,体,脚,三个部分可以缺省任何一部分
布局:frame和自动布局
这几年的开发工作都是以纯手码的方式在编程,不过我不反对故事板和拖拉拽,刚开始时是通过直接设定视图的frame来布局,后来慢慢就喜欢上了masonry了
动画:Quartz2D和核心动画
-
Quartz2D
-
核心动画
-
转场动画
2. 数据处理
iOS开发中的数据处理主要是数据的流动(从服务器请求过来后在各个UI容器间的流动)和数据的存储。数据是软件的血液
数据请求:网络和多线程
- 网络知识
- 多线程知识
数据处理
数据存储
- NSUserDefault偏好设置
- sqlite3
由于原生的sqlite3的API使用起来很不友好,所以我用的是FMDB这个第三方的框架。 - coreDara
3. 配置服务
APP的服务配置主要是自身软件的配置和第三方服务的配置
自身软件的配置
- Appdelegate配置
- 证书配置
第三方服务的配置
第三方服务大致包括第三方分享,统计,推送等等,关于第三方的SDK接入,只要按照SDK文档一步一步来,多和相关人员沟通以及百度(由于接入的第三方服务差不多都是国内在用,所以百度比谷歌的效率要更高),问题应该不大。
- 分享
- 推送
- 统计
4.其他
软件开发还经常用到一些其他知识,比如说二维码生成和扫描,touchID的使用等等
二维码的扫描
二维码扫描可以用原生也可以用第三发的库,不过我还是建议用原生的好,个人认为针对项目需求可以自己做最好。
运行时的黑魔法
我遇到的使用场景是通过运行时开启APP的夜间模式
代码管理
主要是SVN和git
js与oc互调
现在的APP大多数都嵌入了H5页面,这就会涉及到H5与native[原生]的互调。
网友评论