Objective-C 理解之方括号[ ]的使用

1,用于通知某个对象该做什么,即通知对象去执行某动作。

在Objective-c中,“[]”的意义:它们用于通知某个对象该做什么。这种通知对象执行某中操作的行为被称为“发送消息”。

例如:

[shape draw]//这句话表示,通知对象shape去执行draw这个动作,也即表示像对象shape发送draw消息。

2,创建新对象

2.1为了创建新对象,我们需要向对应的类发送new消息。该类接受并处理完new消息后,我们就会得到一个可以使用的新对象实例了。

例如:

id Shape[3];

Shape[0] = [Circle new]; //向Circle类发送new消息,则创建了新对象,并把该新对象赋给了Shape[0].

2.2利用类中的方法返回与该方法返回值类型对应类的实例。

NSData *now = [NSDate date];

//表示向NSDate类发送date消息,NSDate类的date方法对创建一个NSDate的实例,将其初始化为当前的时间,然后返回新对象的起始地址。

3,在类中向超类发送消息

3.1例如

@interface Circle: Shape

@end //Circle

@implementation Circle

-(void) SetFillColor:(ShapeColor) c {

if(c == kRedColor){

c = kGreenColor;

}

[super setFillColor:c]; //向超类Shape发送消息,超类将会执行它的setFillColor方法。

@end //Circle

3.2 例如:

self = [super init]; //作用是,使超类NSObject完成它的初始化工作。并且如果返回一个新对象,则需要更新self。