面向对象的术语
类(对象的描述/模板)
Class (description/template for an object)
实例(类的表现形式)
Instance (manifestation of a class)
消息(发送到对象使其行动)
Message (sent to object to make it act)
方法(通过一个消息调用代码)
Method (code invoked by a Message)
实例变量(对象详情存储)
Instance Variable (object-specific storage)
父/子类(继承)
Superclass/Subclass (Inheritance)
1 iOS概述
iOS里有什么?
平台组件
2 MVC
在你的程序中划分对象到3个“阵营”
模型 = 你的应用程序是什么(但不是它
被如何显示)
Model = What your application is (but not how it is displayed)
控制器 = 模型如何被呈现给用户(UI逻辑)
Controller = How your Model is presented to the user (UI logic)
视图 = 控制器的仆从
View = Your Controller’s minions
所有关于阵营间通信的管理
Controllers总是能直接通话它们的Model
Controllers还能直接通话它们的View
Model和View应
从不
相互对话
View可以同它的Controller通话么?
通过一种“盲”的结构化的通信方式
控制器放下一个target在它自身
这时发一个action给视图
当UI中发生事情时视图发送action
有时视图需要与控制器同步
控制器设置他自身为视图的delegate
delegate通过protocol设置(即它是“盲的”到类)
视图不能拥有它们显示的数据
因此,如果需要,它们用protocol去获取
控制器几乎总是data source(不是模型!)
Model可以直接同Controller通话么?
不。模型(应该)是独立于UI的
那如果模型的
信息有了更新或其他事该如何呢?
它像个广播器一样使用“广播电台”
控制器们(或其他模型)“调谐”到感兴趣的东西
视图可以“调谐”,但不可以是模型的“电台”