苹果君的工作室

我也一直在努力

《View Controller Programming Guide for iOS》笔记
1 ViewController分两种:Content View Controller 和 Container View Controller。

2 View Controller的职责:对内管理Views,对外跟其他ViewController通信和协调,Storyboards可以降低对外部分的复杂度。

3 ViewControllers are brains of you app, which keep most of you app logic

4 ViewControllers 总是在需要的时候才加载视图,并在不需要的时候卸载视图,所以ViewController也同时担当了管理应用资源的责任。

5 ViewController以及其关联的Views组成了应用中的一部分业务,对于应用数据,ViewController只需要知道跟这部分业务相关的部分数据。

6 UIView和UIViewController都是UIResponder的子类,即都可以接收触碰和手势的事件。

7 ViewController的outlets和actions只跟自己持有的view关联,外界不需要。所以可以建一个分类把这些方法的实现放在实现文件中。

9 有关事件响应链涉及到ViewController的部分:一个View接收到事件但是没有做处理的时候,事件将会被尝试投递到与之绑定的ViewController上。

10 官方文档声明了一些系统自带的ViewController,包括联系人,短信,图片等。

11 ViewController有个setEditing接口,可以重写该接口,在内部负责将某些View换成可编辑状态(比如将tableView切换到编辑状态,将Label变成TextField等等)

12 《View Controller Catalog for iOS》介绍了几种不同类型的UIKit自带的Controller

13 ViewController之间的通信的方法:一般的app都会有几个ViewController,其中会共享数据以及相互合作,避免不了通信。
    所以如何在几个Controller之间高效通信并尽量保证代码干净和可复用性是个问题。
    通信的几种情况:
        1 Controller初始化,Controller的创建者一般都有责任向其分配任务。
        2 Controller生存周期内部,几个Controller需要同时完成某一件任务。
        3 Controller销毁,有时需要向创建者发送任务处理的结果等信息。
        StoryBoards忽略。
    对应的实现方式:
        1 使用Delegate,回调创建者的接口
        2 使用Notification
        3 直接调Controller的方法传输数据等。
        Segue跟StoryBoard有关,忽略。

14 viewWillAppear等函数在view加入到view树以及从view树中删除时被调用。


阅读更多
文章标签: ios uiview 任务 文档
个人分类: iOS
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

《View Controller Programming Guide for iOS》笔记

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭