Answers:
它是description
实例方法,声明为:
- (NSString *)description
这是一个示例实现(由于grahamparks):
- (NSString *)description {
return [NSString stringWithFormat: @"Photo: Name=%@ Author=%@", name, author];
}
debugDescription
还保留?虽然我认为DebugDescription
应该由像LLDB这样的调试器使用。
将此添加到@implementation
您的Photo类中:
- (NSString *)description {
return [NSString stringWithFormat:@"Photo: Name=%@ Author=%@",name,author];
}
您可以使用两种功能。
- (NSString*)description
当您将对象作为IE的参数放置时,这将显示NSLog
。另一个描述功能是:
- (NSString*)debugDescription
po anInstanceOfYourClass
在调试命令窗口中执行此操作时,将调用此函数。如果您的类没有debugDescription
函数,那么description
它将被调用。
请注意,基类NSObject
确实已description
实现,但它是一个基本的系统:它仅显示对象的地址。这就是为什么我建议您description
在要从中获取信息的任何类中实现的原因,尤其是description
在代码中使用该方法的情况下。如果您确实description
在代码中使用过,建议您也实施debugDescription
,也要使它debugDescription
更加冗长。
description
属性将被保留 ...并将提供有用的调试信息!在这种情况下,您需要提供自己的唯一方法名称。