Giter VIP home page Giter VIP logo

maxdiary's Introduction

MaxDiary

手把手教你开发一个日记App (付详细开发流程) 适合新手及iOS开发者学习开发iOS项目流程 ,通过项目来更好了解iOS知识点

(持续更新项目及知识点,欢迎点🌟或Issues交流)

需求分析

本次项目需完成以下功能需求,已完成则打勾

  • 日记增删改查
  • 日历
  • 天气
  • 分享
  • 日记加密
在本项目中你可以学习到
  1. 学习本地存储:

    • plist文件(属性列表)
    • preference(偏好设置)
    • NSKeyedArchiver(归档)
    • CoreData
  2. 学习MVC设计架构

  3. App 生命周期

  4. iOS UI 控件使用(但不限于以下)

    • UIView
    • UIButton
    • UILabel
    • UITableView (重点:实际项目开发中常用)
    • UIImageView
  5. iOS 控制器使用

    • UITabBarController
    • UINavigationController
  6. iOS 三大特性

    • 继承
    • 封装
    • 多态
  7. 使用 CocoaPods管理第三方库,该项目使用到的第三方库有(以下都是项目开发常用第三方库):

    • MBProgressHUD // 提示框
    • Reachability // 网络状态检测
    • AFNetworking // 项目开发最常用的第三方库,需要熟练使用,有空建议研究一下其实现原理
    • MJRefresh // 常用于上拉加载更多与下拉刷新效果
  8. iOS核心动画 CoreAnimation框架使用

  9. CoreLocation框架使用

  10. KVC 和KVO:基于NSKeyValueCoding非正式协议实现的机制

  11. 常用的界面传值

    • 属性传值:简单,正向传值,但对象要相关联
    • 单例传值
    • 代理传值
    • block传值
    • 通知传值
  12. 懒加载

项目开发规范

详情见我的 iOS开发编码规范

项目开发流程🌟

注意:

  • 本项目使用 CocoaPods管理第三方管理工具,需要本地安装Cocoapods,具体安装百度或Google一下,这里暂不做详细介绍哈
开发流程:
开发前准备
  1. 在项目根目录下运行命令pod init

  2. 此时项目根目录会帮你生成有一个Podfile模块,在命令行输入命令vi Podfile

  3. 填写输入依赖的第三方库:当前开发版本('~> 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'
    
  4. 运行命令pod install

  5. 在根目录找到xcworkspace后缀文件,点击打开进行开发

开发所需配置文件
  1. 创建并配置pch文件:方便你一次性导入在多个文件中同时用到的头文件、宏或者URL地址等(全局使用),可以有效的帮你节约时间,提高开发效率
  2. 配置MaxDiary.xcdatamodeld:点击xcdatamodeld文件->点击AddEntity->再双击上方的实体名,输入想要的实体名。(注意:实体名一定要大写)
开发思路
  1. 创建UITabBarController 为主控制器,同时设为windows根视图
  2. 创建日历模和天气模块,因为后续的日记编辑需要用到日历和天气模块

maxdiary's People

Contributors

zijianchen avatar galaxycal avatar

Stargazers

 avatar Xinmin Wang avatar  avatar  avatar linghugoogle avatar youwen avatar Yang Yong avatar 公众号:iOS逆向 avatar 燎 avatar ClarWan avatar  avatar  avatar big67 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.