objective-C是C语言的一个扩展集,但是它是一门面向对象语言。如果学过C#或是java的朋友应该知道在C#的类中有一个Tostring()方法,在objective—C中也有一个类似的方法,即description()方法。
description方法是基类NSObject 所带的方法,在自定义的类中,我们可以重载改方法。例如:我们自定义一个people类:
@interface People:NSObject
{
NSString *name;
int age;
}
@ implementation People
{
-(id) init
{
if(self=[super init])
{
name="老三";
age=30;
}
}
}
@end
然后,实例化people类:People *laosan=[People new];
如果我们想看看laosan这个实例的具体信息,我们可以调用,description方法,但是people类里面又没有定义,所以只能调用基类,即NSObject 中的方法。但是这样,得到的信息又和我们所想要的不一样,所以我们必须定义自己的的description方法。即:
-(NSString *)description()
{
return [NSString stringWithFormat:@"姓名: %@ 年龄: %d",name,age];
}
这样,我们再次调用description时输出便是我们想要得到的信息。