本帖最后由 卧龙小 于 2014-9-22 15:49 编辑
代码没提交,只是简单笔记。
一.类 类的声明(@interface 部分)要放在它自己名为class.h 的文件中。 类的定义(@ implementation 部分)放在相同名称的文件中,扩展名为.m
类中导入其他文件 导入本地文件需要用引号引起来,而不是<>,<>用于系统文件 import <Foundation/ Foundation.h>
二合成存取方法 OC 2.0后,可自动生成设值方法和取值方法。需要采取以下步骤 1.在接口部分使用 @property 例如: @interface Fraction:NSObject @property int numerator, denomination; @end;
2.在实现部分用 @synthesize 例如: @implementation Fraction{} @synthesize numerator, denomination; @end;
使用了@property 指令,就不需要在实现部分声明相应的实例变量,编译器通过 @synthesize 为两个属性生成设值方法和取值方法
三。点运算符访问属性 OC 可以通过点运算符访问属性。格式如下: instance.property
例如: Fraction *f = [[Fraction alloc] init]; f.numerator 也可以通过 点运算符来赋值 f.numerator = 4 等价于 [f setNumerator:4]
四 多个参数的方法 用“:”冒号连接 每个参数名,就可以定义一个多个参数的方法,用冒号连接的参数也是这个方法名的一部分。 例如:
- setNumerator:(int ) n setDenomination:(int) d;
复制代码调用方法 [f setNumerator:3 setDenomination:3];
参数名实际上是可选的,例如声明以下方法 - (int) set :(int) n:(int) d; 这个方法名为set::,调用方式如下 [f set:2:2]
五 局部变量 局部变量是基本的的C 数据类型,并没有默认的初始值,使用前先赋值,局部变量的默认初始化为nil ,和实例变量不同,当跳出局部变量作用域,则清空。方法参数就是局部变量,只能在方法内部用 例子 int count=0;//全局变量 while(count<10){ int tmp=count;//tmp 局部变量 tcount++; } NSLog(@"%i",count); NSLog(@"%i",tmp); //报错,无法访问局部变量,局部变量只能在作用域中使用
六 static 关键字 在变量申明前,加上static 就成了静态变量,静态变量在初始化的时候复制,然后改变的值,所有方法都可以访问,如果某一方法赋值后,则静态变量将保留该值。其他方法访问时也是该值。 例子: int count=0; //计数器 static int tmp =0;
while(count<10){ tmp=count;//tmp 局部变量 tcount++; }
NSLog(@"%i",tmp); //输出9 ,它会保留在 循环过程中的赋值。
七 self 关键字 关键字self 是用来指明对象是当前方法的接收者 [self FunctionName];
|