一.类
类的声明(@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]
四 多个参数的方法
用“:”冒号连接 每个参数名,就可以定义一个多个参数的方法,用冒号连接的参数也是这个方法名的一部分。
例如:
调用方法
[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];
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |