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 只读readonly(get方法)不可以用set方法
默认是readwrite;可读可写,同时生车get和set方法。
2、setter处理: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方法的方法名
如果只是定义成员变量、属性,@class
通常引入一个类的方法有两种:#import 包含引用类的所有信息,包括被引入类的变量和方法;头文件@class只是告诉我们编译器,这个只是一个类.
等到真正要用的类的方法和变量,就用import. 不仅仅知道他是一个类,同时也要使用他的方法
import的文件修改,导入头文件的,全部重新编译。
//这retaind代表:release释放旧值;retain
增加新值。
@property (retain) Book *book;
自动帮助我们生成内存释放代码。
@property (参数1,参数2);
1、读写属性:readwrite/readonly 只读readonly(get方法)不可以用set方法
默认是readwrite;可读可写,同时生车get和set方法。
2、setter处理: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_关于property、synthesize的使用
- 黑马程序员-IOS学习笔记 OC @class的使用 解决循环引入
- Objective-c学习笔记(三)oc 多输入参数的方法及协议的使用及变量
- 黑马程序员——OC学习——@class的使用
- ssh 中使用c3p0 的连接池配置出错 Invalid property 'xxx' of bean class [com.mchange.v2.c3p0.ComboPoo
- jsp中使用c:import 传递中文参数乱码
- oc 中 ID 数据类型 以及 #import 和@class区别 摘要
- OC语言——点语法和成员变量的4种作用域及property和synthesize的使用
- OC属性property使用
- spring项目使用hibernate validator 校验请求参数报错 java.lang.NoClassDefFoundError: javax/el/PropertyNotFoundExce
- jsp中使用c:import 传递中文参数乱码
- spring使用PropertyPlaceholderConfigurer扩展来满足不同环境的参数配置
- 在OC的h头文件声明使用C++ class,不引用C++的h文件
- Class<T> 和 函数使用不定数目的参数
- resultMap使用不当导致出现There is no WRITEABLE property named 'student_id' in class 'com.ssi.model.Stud
- OC基础-零基础学习Objective-C:第五部分.@property
- 黑马程序员_object c学习日记④_内存管理二:@property参数强化、@class及autorelease
- Android 开发中代码包(lib/jar/class)使用(import/export)方法
- Class PropertyPlaceholderHelper的使用
- class_copyPropertyList与class_copyIvarList区别,获取属性,使用runtime方法的注意事项