iOS模型打印

在开发当中,我们很多时候需要打印模型的所有属性。如果我们直接使用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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容