在开发当中,我们很多时候需要打印模型的所有属性。如果我们直接使用NSLog(@"%@",model);
的方式,打印出来只是model
的内存地址
image.png
解决方法可以通过重写模型的description
方法
image.png
这样在我们再次使用NSLog(@"%@",model);
的时候,就可以显示模型的所有属性值
image.png
但是很多时候,我们在断点调试的时候,并不是使用NSLog(@"%@",model);
来打印模型,而是通过po
这个命令,我们需要重写debugDescription
方法而不是description
方法
image.png
我们再次使用NSLog
和使用po
来打印下
image.png
debugDescription
方法只会在调试po
的时候调用,而在代码中打印不会调用。但是我们需要在每个模型中都重写这个方法,而且代码都不一样,肯定受不了。我的解决方式是写一个NSObject的分类NSObject+DebugDescription并重写debugDescription
,并处理了po
其他类型的情况
image.png
如果是其他数据类型,则返回self.debugDescription
。这样的话只有打印model
时会打印显示属性,而其他类型就不会受影响了
image.png
作者:小明的知识库
链接:https://www.jianshu.com/p/c173d1460463
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦