浅谈objective-C中的description方法

时间:2021-06-07 15:25:23

由于下个项目要做移动平台的开发,最近学习objective-C语言。

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时输出便是我们想要得到的信息。