NS以重写描述方法logging对象的内存地址

我重写一个对象的描述方法。 我需要知道如何在下面的代码中打印对象的内存地址来replace{???}

-(NSString *) description { return [NSString stringWithFormat:@"<SomeClass: %@>\nparmeterOne: %@\nparameterTwo: %@", {???}, self.parameterOne, self.paramterTwo]; } 

我希望它能像这样在控制台中打印:

 <SomeClass: 0x4c05600> parameterOne: 12 parameterTwo: sausages 

打印地址使用%p格式说明符和自指针:

 -(NSString *) description { return [NSString stringWithFormat:@"<SomeClass: %p>\nparmeterOne: %@\nparameterTwo: %@", self, self.parameterOne, self.paramterTwo]; } 

最简单的方法是使用超级描述

 - (NSString *)description { return [NSString stringWithFormat:@"%@ Area: %@, %@", [super description], self.identifier, self.name]; } 

所以在这个模型对象是NSObject的一个子类的情况下,你可以避开额外的工作并记住%p

手动使用NSStringWithClass()和%p

 - (NSString *)description { return [NSString stringWithFormat:@"<%@: %p> Area: %@, %@", NSStringFromClass([self class]), self, self.identifier, self.name]; } 

所以在一个对象模型的情况下,你有一个从这个类派生的具体的实现者,你将显示正确的类名。