1.从Object-C2.0开始,能让系统自动生成变量的取值,设值方法。只需在.h文件中以@property来标识属性(实例变量),在.m文件中一@synthesize来标识所声明的属性,这样系统就能自动生成设值方法和取值方法
2.Object-C2.0开始,新增了点“.”操作符,可以非常简便的访问属性,但是点操作符只是相当于替换了类的get,set方法,不能用在类的其他方法上。
3.多输入参数的方法,即一个方法可以具有多个输入参数,而且写法“怪异”,如:
-(void) setIntX:(int)n andSetIntY:(int)d
可以理解为在Object-C中里面的方法名可以被分割成几段,我们这样来调用它:
[test setIntX:1 andSetIntY:2]
在调用多参数方法时,可以省略从第二个开始的方法名字,比如上面的调用可以省略掉andSetIntY
[test setIntX:1:2]
不过为了容易理解和维护,不建议这么写,但是看到这样的代码也要知道是什么意思。
4.方法前的+表示是类方法,-标识是实例方法。
5.静态变量可以用关键字static声明,常量可以用constant声明。
6.Object-C中的协议类似于Java中的接口,协议中只给出方法名,如果一个类要遵守一个协议,该类就必须实现这个协议的所有方法(可选方法除外)。
7.协议是一系列方法的列表,任何类都可以声明自身实现了某一个协议或某一些协议,Object-C2.0以后协议中出现了可选方法,用@optional修饰。
8.声明协议的格式:
@protocal MyProtocal
-(void) myMethodOne (NSString *) str;
@end
9.通过@interface中的一对尖括号列出协议的名称,告诉编译器你正在遵守的一个协议,比如:
@interface Test:NSObject <MyProtocal>
10.检查一个对象是否遵守某个协议:
if([someObject conformsToProtocal @Protocal (MyProtocal)]==YES)
{
//一些操作
}
11.遇到指针,注意3个问题:
指针的类型是什么?
指针指向的类型是什么?
指针指向了哪里?
12.对象变量实际上是指针