NSLog以重写的描述方法记录对象的内存地址 [英] NSLog an object's memory address in overridden description method

查看:83
本文介绍了NSLog以重写的描述方法记录对象的内存地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在重写对象的描述方法.我需要知道如何在以下代码中打印对象的内存地址以替换 {???} :

I am overriding an object's description method. I need to know how to print the object's memory address to replace {???} in the code below:

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

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

I want it to print in the console like this:

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

推荐答案

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

To print address use %p format specifier and self pointer:

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

这篇关于NSLog以重写的描述方法记录对象的内存地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆