objective-C中的description方法
2015-12-14 10:53
519 查看
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时输出便是我们想要得到的信息。
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时输出便是我们想要得到的信息。
相关文章推荐
- 错误: libstdc++.so.6: cannot open shared object file: No such file or directory
- foundation的使用——NSArray
- array,string,object 的操作
- foundation的使用——NSRange NSPoint NSSize NSRect
- 定位CoreLocation的基本使用
- 使用ArcObjects或者ArcEngine对ArcGIS要素类重命名
- ios CoreData NSManagedObject 生命周期
- Objective-C内存管理第七弹:ARC中@property的使用
- Objective-C内存管理第六弹:ARC
- Objective-C编码规范:26个方面解决iOS开发问题
- Objective-C内存管理第五弹:自动释放池
- Objective-C内存管理第四弹:循环引用
- Objective-C规范注释心得——同时兼容appledoc(docset、html)与doxygen(html、pdf)的文档生成
- Objective-C内存管理第三弹:@property的使用
- Objective-C内存管理第二弹:多个对象的内存管理
- Objective-C内存管理第一弹:引用计数
- Objective-C 之 KVO 详解
- Js中Prototype、__proto__、Constructor、Object、Function关系介绍
- iOS -- 查看系统版本(objective-c)
- iOS/object-c: 枚举类型 enum,NS_ENUM,NS_OPTIONS