2009年2月9日星期一

MVC概念以及iphone开发中的属性

Model : 用于保存程序数据的类
View : 所有的用户能看到的诸如窗体之类,还有用户能用来操作的控件
Controller: 程序逻辑,用于连接 model和view的部分,知道如何处理用户的输入,如何来响应事件.

Controller 里面的类可以通过一个特殊的变量实例outlet来引用nib里的对象,这个实例就如同一个指针指向了nib中的对象. Controller里面要操作一个nib里的对象的时候可以先声明一个outlet然后将这个outlet指向想要操作的对象,然后通过这个outlet就可以操作指向的对象了.

从操作的另外一个方向来讲,也可以在nib文件中创建接口对象,用以激发在controller中的特别处理,这类处理就称之为动作action,加入当手指离开一个按钮的时候,这本身就是一个事件,这个事件发生的时候你的controller里面的一个method就可能被触发.

(IBAction)dosomething:(id)sender 这是action方法的声明方式,注意,后面的sender是可选的,即便你声明的时候有这个sender,使用的时候也完全可以不带.

在定义一个property的时候,在"property"关键字后面带的括号中的可选属性,如果property操作的对像是一个raw type(基本类型) 比如int则不需要带retain关键字,如果操作的对像是用户构建的其他的非简单类型,则必须要带这个attribute不然就有可能在你还需要操作这个对象的时候它就已经被从内存中清除了.
到这一步一个属性的开头应该是 @property (retain,) 当然后面还有别的东西,慢慢讲. 另外一个attribute是nonatomic,其实为了实现多线程的应用,还可以选别的,但是那样会增加不必要的开销,尽管开销不大,还是应该避免,大多数情况下,这里要用nonatomic,后面其实还会看到不用nonatomic的情况.

没有评论:

发表评论