MVC
MVC:Model-View-Controller(模型-视图-控制器),是 iOS 开发中频繁使用的一种设计模式。设计模式
- Model 负责维护和处理数据,如网络链接,数据计算与存储等。除了 View 和 Controller 之外的全部内容都应该包含在 Model 中。(处理和保存数据)
- View 负责绘制界面,例如 UIButton、UIImageView、UITableView 等。View 应该尽量地不含业务逻辑。(绘图视图)
- Controller 具备对 Model 和 View 的引用,并监听 Model 的更改。Controller 接收用户的输入,而后请求 Model 处理,并在检测到对 Model 的更改时及时更新 View。(接受用户输入并链接视图和模型)

经典图

解读
- Model 和 View 不能相互通讯,只能经过 Controller。
- Controller 能够直接操做 Model(读写调用 Model),Model 经过 Notification 和 KVO 机制与 Controller 间接通讯。
- Controller 能够经过 IBOutlet、IBAction 或 dataSource、delegate 操做 View。
项目结构

优势
缺点
- 增长了系统结构和实现的复杂性。
- View 对 Model 的访问效率便低。
- View 与 Controller 之间出现紧密的耦合。
其余模式
总结
没有最好的架构,只有最适合的架构。markdown
Xcode 快捷键
常见快捷键
- ⌘ + B:编译。
- ⌘ + R:运行。
- ⌘ + U:测试。
- ⌘ + .:中止。
- ⌃ + ⌘ + E:重命名。
- ⌃ + I:代码格式化。
- ⌃ + ⌘ + Click:跳转到点击内容的定义位置。
- ⌥ + ⌘ + /:添加文档注释。
- ⌘ + F:文件内查找。
- ⇧ + ⌘ + F:项目内查找。
- ⇧ + ⌘ + K:清理项目。
- ⌃ + ⌘ + → 和 ⌃ + ⌘ + ←:在最近打开的文件之间来回切换。
- ⌃ + ⌘ + ↑:生成当前文件的 interface。
- ⌘ + ⌥ + [ 和 ⌘ + ⌥ + ]:对选中代码进行上下移动。
- ⌘ + \:在当前行上添加或删除断点。
- ⌃ + 6:快速查看当前文件的方法列表。
- ⌃ + ⌘ + R:不编译直接运行(与QQ的录屏冲突)。
图标说明
⌃:control、 ⌘:command、 ⌥:option、 ⇧:shift网络