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属性将被保留 ...并将提供有用的调试信息!在这种情况下,您需要提供自己的唯一方法名称。