+ 实例对象、访问全局类数据
实例方法
[receiver message:argument]
[接收对象名称 方法 参数 ]
(BOOL)isEqualToEtring: (NSString *) aString
返回值 声明 /方法 参数类型 参数名
*是指针,指向创建的内存地址 在指针变量前加上一个* 得到的是指针所指向的内存存储空间内的数值。
: 是参数传递
@ 代表object-c语法
(.)点表达式 :出现在等号左边,该变量名称的setter方法被调用;出现在对象变量的右边,则该变量的getter方法被调用
^ 代码块 double(^my_block )(double1 double2) 定义了一个叫my_block的代码块,包含 两个浮点型参数,并返回一个双浮点型数值
继承 复合
遍历数组:索引、NSEnumerator、快速枚举、代码块
-(id) init P64
初始化实例变量的方法。
使用new创建新对象的时候,系统执行了两个步骤:
为对象分配内存,即对象获得一个用来存放实例对象的内存块;
自动调用init方法,是对象进入可用状态。
所有init开头的方法都是构造函数,withxxxx就是带有不同参数的构造函数,(id)表示返回一个类实例
if(self = [super init]
为了让超类将所有需要的初始化工作一次性完成,需要调用[super init]。init 方法返回的值(id类型数据,即泛型对象指针) 就是初始化的对象。将[super init] 返回的结果赋给self是oc的惯例,这样做是为了防止超类在初始化过程中返回的结果与一开始创建的不一致。
创建对象:
[ 类名 new]
[[ 类名 alloc ] init] (习惯)
刚分配的对象需要先初始化才能使用。
初始化:所有的BOOL类型变量初始化为NO,int类型变量初始化为0,float类型变量初始化为0.0,指针初始化为nil。
NSString的类方法 stringWithFormat:生成一个包含内容的字符串
//在OC中stringWithFormat会新申请一片空间并初始化字符串,所以每一个用stringWithFormat方法得到的字符串其指针都是不相的;
//而stringWithString是通过浅拷贝的方式得到字符串的,浅拷贝只拷贝指针不拷贝对象,所以其指针是相等的,内容也相等
-(void) setEngine:(Engine *)newEngine
(Engine *) newEngine 意思是将变量newEngine 强制转换为指向Engine类型数据的指针类型
强制转换为Engine类型的指针
返回值是一个指针
@property float pressure; 简化接口代码
@synthesize pressure; 简化实现代码