您的位置:首页 > 运维架构

OC第五课(@class与#import)property参数使用

2013-06-04 16:43 323 查看
如果是继承某个类,就要导入类的头文件

如果只是定义成员变量、属性,@class

通常引入一个类的方法有两种:#import  包含引用类的所有信息,包括被引入类的变量和方法;头文件@class只是告诉我们编译器,这个只是一个类.

等到真正要用的类的方法和变量,就用import. 不仅仅知道他是一个类,同时也要使用他的方法

import的文件修改,导入头文件的,全部重新编译。

//retaind代表:release释放旧值;retain
增加新值。
@property (retain) Book *book;

自动帮助我们生成内存释放代码。

@property (参数1,参数2)
1、读写属性:readwrite/readonly 只读readonlyget方法)不可以用set方法

默认是readwrite;可读可写,同时生车getset方法。

2setter处理:assign/retain/copy

retain 系统自动帮助管理内存资源
copy:setter方法release旧值,在copy新值。

3、原子性:atomic/nonatomic

atomic是指明:提供多线程安全加锁(同时访问一个变量或者两个线程同时调用一个方法)耗费系统资源,影响性能。

iphone这种小型设备上,如果没有使用多线程间的通讯变成,那么nonatomic是一个非常好的选择。

如果不需要多线成支持的话,用nonatomic就够了,另外由于不涉及锁操作,所以它执行相对快一点。

@property BOOL rich;
@property (nonatomic, getter = isRich) BOOL rich;
//getter是用来指定get方法的方法名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OC 继承 编译器