您的位置:首页 > 移动开发 > Objective-C

MVC and Introduction to Objective-C 课堂笔记

2012-08-29 14:53 393 查看
1、IOS layer-Cocoa Touch、Media、Core Services、Core OS

2、MVC——

Model = What your application is (but not how it is displayed)

model阵营是:你的应用是做什么的

Controller = How your Model is presented to the user (UI logic)

Controller阵营是:你的model如何展现在用户面前,控制如何在UI上展现model

View = Your Controller's minions

view是Controller的仆人,view就是controller使用的工具

controller利用这些通用view来做model需要做的事,view应该是很通用的,利用通用的view来理解和使用这些功能。

controller向model发消息是100%被允许的。也是用了把model展现在屏幕上的,有完全的访问权。

controller是把model显示在屏幕上,它可以对view做任何事。(Controllers can also talk directly to their View)

Outlet是一个表达式用来表示controller和view通信的一个属性。我们要在controller里创建outlets传到view中去。

The Model and View should never speak to each other.因为model和用户交互界面无关。

View(通用的)和controller(详细控制如何在屏幕展现model)之间的通信的是不可见的。view向controller通信的方法,有结构的方法,一个被称为target action,就是controller自己画一个target,然后把一个action交给它的view。

The Controller sets itself as the View's delegate.controller把自己设为委托。

Delegation是另一个view和controller通信的方法。

View只是一个平面,用来显示数据,一个显示信息的平台.

Controllers are almost always that data source (not Model).类似地,view会有一个数据源的设置,controller会回应数据源。注意,数据源的 delegation永远是controller,或者是controller指定的第三方,但不可能是model。

Controllers interpret/format Model information for the View。controller的工作是把model的信息传达给view,响应所有的delegation。

Model是UI独立的,不能向controller发话。

Controller的工作来用view显示model。

3、strong:表示保存这个指针对象的内存直到结束使用。

weak :表示如果没人在用这个指针了,那就设为nil。

所有的property初始值都是0.

4、obj-c比较特殊的一点是:如果你发送消息给nil,does nothing。

5、@synthesize 只为property变量分配一个指针空间,还是需要调用setter来设置(初始化)。

self是个指向自己的指针,[self topspeed];

[self topspeed]和self.topspeed是一样的。

等号的两边都可以用.号,等号左边的.表示调用setter,右边表示getter。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐