首页 > 代码库 > 面向对象
面向对象
类
声明部分。.h文件 @inerface 类名 : 继承父类
成员变量 下划线写法 和方法声明 -对象方法 +类方法
实现部分。 .m文件 @implementation
内部在声明方法和成员变量,为该类的隐藏的局部方法。外部无法无法获取
对象对产生和使用
定义变量,创建对象,调用方法。
类名 * 变量名 = [[类名 alloc] 初始化方法] ;
调用方法 [调用者 方法名:参数 形参标签:参数值 。。。]
堆-内存空间,对象实际存在位置
栈- 基本数据类型。和引用对象指针(内存地址)
xcode4.2引入自动引用计数(automatic reference counting, ARC)
self 关键字 类似于 android中的this ;
id类型 类似于object 类型 动态绑定 运行时确定需要调用的方法,而不是在编译时确定要调用的方法。。类似于反射机制一样。
方法:形参个数可变方法 形式(参数, ...)
va_list: 类型 --用于定义指向可变参数列表的指针变量;
va_start:函数--处理可变参数列表,让指针变量指向可变参数第一个参数;
va_end :结束处理可变参数,释放指针;
va_arg: 函数--返回获取指针当前指向的参数值,并移动指针到下一个参数。
成员变量-三类(成员变量,局部变量,全局变量)
基本类型的实例变量初始化值为0 指针类型的成员变量默认值为 nil
static 关键字的用法 (不能用于修饰成员变量,只能修饰局部变量。全局变量和函数。)
修饰局部变量表示将该局部变量存储到静态存储区;
修饰全局变量用于限制该全局变量只能在当前源文件中访问;
修饰函数用于限制函数只能在当前源文件中调用;
单例模式对应用 (singleton)
封装和隐藏
@private @package @protected @public
@package 同一映射。
合成存取方法 objective -c 2.0
接口部分用@property 修饰 实现部分用 @synthesize 修饰
部分声明修饰单词(
assign
atomic(nonatomic)线程安全(默认说线程安全atomic)
copy(是否拷贝副本)
readonly 只读方法
readwrite 默认读写
retain 计数传递效果。有ARC后 很少使用了。
strong 强引用
weak 弱引用
unsafe_unretained 类似于weak 但是它被回收后指针不会被赋值为nil 可能导致程序崩溃。
面向对象