4.iOS 应用的起点

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 存放用户相关的业务逻辑。

特殊声明

代码是在不断进化的,尤其开始搭建框架的时候会假设一些东西,后续在应用的过程中会不断的选择更合适的方式来修改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354