手把手教你开发一个日记App (付详细开发流程) 适合新手及iOS开发者学习开发iOS项目流程 ,通过项目来更好了解iOS知识点
(持续更新项目及知识点,欢迎点🌟或Issues交流)
本次项目需完成以下功能需求,已完成则打勾
- 日记增删改查
- 日历
- 天气
- 分享
- 日记加密
-
学习本地存储:
- plist文件(属性列表)
- preference(偏好设置)
- NSKeyedArchiver(归档)
- CoreData
-
学习MVC设计架构
-
App 生命周期
-
iOS UI 控件使用(但不限于以下)
- UIView
- UIButton
- UILabel
- UITableView (重点:实际项目开发中常用)
- UIImageView
-
iOS 控制器使用
- UITabBarController
- UINavigationController
-
iOS 三大特性
- 继承
- 封装
- 多态
-
使用 CocoaPods管理第三方库,该项目使用到的第三方库有(以下都是项目开发常用第三方库):
- MBProgressHUD // 提示框
- Reachability // 网络状态检测
- AFNetworking // 项目开发最常用的第三方库,需要熟练使用,有空建议研究一下其实现原理
- MJRefresh // 常用于上拉加载更多与下拉刷新效果
-
iOS核心动画 CoreAnimation框架使用
-
CoreLocation框架使用
-
KVC 和KVO:基于NSKeyValueCoding非正式协议实现的机制
-
常用的界面传值
- 属性传值:简单,正向传值,但对象要相关联
- 单例传值
- 代理传值
- block传值
- 通知传值
-
懒加载
详情见我的 iOS开发编码规范
注意:
- 本项目使用 CocoaPods管理第三方管理工具,需要本地安装Cocoapods,具体安装百度或Google一下,这里暂不做详细介绍哈
-
在项目根目录下运行命令
pod init
-
此时项目根目录会帮你生成有一个Podfile模块,在命令行输入命令
vi Podfile
-
填写输入依赖的第三方库:当前开发版本('~> 3.1.0',指的是版本号范围: 3.1.0 <= version <= 3.2)
remark:规定当前库版本原因:若是团队协作开发,则需要注意开发环境一致
pod 'AFNetworking', '~> 3.1.0' pod 'Reachability', '~> 3.2' pod 'MBProgressHUD', '~> 1.0.0' pod 'MJRefresh', '~> 3.1.15'
-
运行命令
pod install
-
在根目录找到xcworkspace后缀文件,点击打开进行开发
- 创建并配置pch文件:方便你一次性导入在多个文件中同时用到的头文件、宏或者URL地址等(全局使用),可以有效的帮你节约时间,提高开发效率
- 配置MaxDiary.xcdatamodeld:点击xcdatamodeld文件->点击AddEntity->再双击上方的实体名,输入想要的实体名。(注意:实体名一定要大写)
- 创建UITabBarController 为主控制器,同时设为windows根视图
- 创建日历模和天气模块,因为后续的日记编辑需要用到日历和天气模块