iOS 应用的起点
iOS 项目搭建
创建一个新工程,iOS-> Single View App
输入工程信息:按照个人自己的信息录入
Production: kite
Origanization: nervending
Origaniztiong Identifier: com.nervending
Language: Swift
下面的三个选项都不用勾选:
添加三方依赖
Carthage简介与用法
使用Carthage作为三方包的管理工具,具体详细使用方法可以自行百度之,这里直接讲用法。
使用 homebrew 安装:
$ brew install carthage
进入到工程目录
创建配置文件 Cartfile
输入我们现在需要用到的三方库
github "Alamofire/Alamofire" "5.0.0-beta.3"
github "stephencelis/SQLite.swift" ~> 0.11.5
github "SnapKit/SnapKit" ~> 4.0.0
github "SwiftyJSON/SwiftyJSON" == 4.2.0
运行命令
$ carthage update --platform iOS
成功之后就会在工程目录下生成一个Carthage目录里面Checkouts目录对应三方库的代码,build 目录对应的是三方库编译好的 framework,因为我们指定了只需要编译 iOS 下的所以 build 目录下只有 iOS 一个目录。
然后是把编译好的 framework 添加到工程依赖中。
在 xcode中点击工程文件蓝色的那个,TARGETS 选择 kite,然后选择Build Phases,点开下面 Link Binary With Libraries,把 build/iOS 目录下的三个 framework 拖进来。
然后点击小加号,New Run Script Phase
输入脚本命令: Carthage copy-frameworks
添加 input Files
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
$(SRCROOT)/Carthage/Build/iOS/SnapKit.framework
$(SRCROOT)/Carthage/Build/iOS/SQLite.framework
$(SRCROOT)/Carthage/Build/iOS/SwiftyJSON.framework
在 Build Setting 中修改 Franework Search Paths增加如下路径:$(PROJECT_DIR)/Carthage/Build/iOS (也有可能会自动添加好)
确认General 下 Linked Frameworks and Libraries 中包含着三个 framework
现在可以添加一下依赖在 AppDelegate.swift 文件头添加导入函数
import Alamofire
import SQLite
import SnapKit
import SwiftyJSON
然后 run 一下,测试是否配置成功。
记得修改 gitignore 文件,将Carthage相关的中间文件忽略
kite/Carthage/
相关三方代码简介
- Alamofire 网络基础库
- SQLite swift 实现的对 SQLite 数据的封装
- SnapKit swift 自动布局的三方库
- SwiftyJSON swift 语言实现的更简单的操作 json 格式的组件库
工程代码组织结构及代码组织的原则
然后新增几个目录
- ui:用来放业务呈现给用户的代码
原则:ui交互代码只负责渲染,页面跳转逻辑,用户输入逻辑,基础输入数据的校验,不包含具体业务处理的代码,不能包含直接调用网络、数据库的直接代码,比如一个登录界面,渲染用户登录界面,用户输入登录账号后检查用户名是否合法,调用封装的登录操作函数,在回掉中登录失败则弹出错误信息,登录成功则进行下一个页面跳转。
- models:用来放数据库相关的模型相关文件
原则:与数据库相关的操作都封装在模型文件里
- common:基础的组件代码
原则:基础的脱离业务的通用代码
- controllers:存放应用业务逻辑代码
原则:具体业务的逻辑操作,网络操作,数据库操作都通过控制器代码来调用。
有两个主要的分类 AppInstance 用来存放应用共有的属性相关的逻辑,UserInstance 存放用户相关的业务逻辑。
特殊声明
代码是在不断进化的,尤其开始搭建框架的时候会假设一些东西,后续在应用的过程中会不断的选择更合适的方式来修改。