搜索
您的当前位置:首页正文

iOS开发知识总结

来源:二三娱乐

先理下脉络,后续会逐渐丰富.本来想只总结一些开发的经验,而不涉及具体的代码的,但好像效果不好。接下来我会逐渐丰富细节。
iOS开发中的主要工作其实只是UI搭建和数据处理还有响应用户的操作,但如果是一个人玩的话就得涉及到配置服务了。

开发模式

无论我们是否注意自己开发工作的开发模式,我们都能很好的完成任务。但是,养成一种健康合理的开发模式确实保证APP健康成长的关键!!!

1. UI搭建


UI搭建中最重要的是控制器的使用和高级容器控件(UITableView和UICollectionView)的使用,以及基础控件的有机组合和嵌套。

UITabBarController+UINavigationController+UIViewController构成软件的骨骼

  • UIViewController
    视图控制器是iOS开发中最重要的视图集合单元,在MVC中其角色是View和Model交互控制器,并且响应用户的操作,在MVVM中则主要是View的集合和拓展已经用户的操作。

UITableView+UICollectionView+基础控件构成软件的血肉

基本我们所遇到的页面都是需要滚动的,滚动无非是横向滚动和竖向滚动两种,而滚动的范围如果很大毫无疑问要涉及到复用。所以tableView和collectionView就会显得很好用了,如果只是竖向滚动就用tableView,如果是横向滚动就用collectionView

  • 基础控件的组合和嵌套
    基础控件的组合和嵌套我的经验是把一个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

现在的APP大多数都嵌入了H5页面,这就会涉及到H5与native[原生]的互调。

时间处理

地图处理

视频音频

End

Top