专栏名称: Cocoa开发者社区
CocoaChina苹果开发中文社区官方微信,提供教程资源、app推广营销、招聘、外包及培训信息、各类沙龙交流活动以及更多开发者服务。
目录
相关文章推荐
51好读  ›  专栏  ›  Cocoa开发者社区

iOS模型打印

Cocoa开发者社区  · 公众号  · ios  · 2017-07-30 11:09

正文

请到「今天看啥」查看全文


在开发当中,我们很多时候需要打印模型的所有属性。如果我们直接使用NSLog(@"%@",model);的方式,打印出来只是model的内存地址



解决方法可以通过重写模型的description方法



这样在我们再次使用NSLog(@"%@",model);的时候,就可以显示模型的所有属性值



但是很多时候,我们在断点调试的时候,并不是使用NSLog(@"%@",model);来打印模型,而是通过po这个命令,我们需要重写debugDescription方法而不是description方法



我们再次使用NSLog和使用po来打印下



debugDescription方法只会在调试po的时候调用,而在代码中打印不会调用。但是我们需要在每个模型中都重写这个方法,而且代码都不一样,肯定受不了。我的解决方式是写一个NSObject的分类 NSObject+DebugDescription 并重写debugDescription,并处理了po其他类型的情况



如果是其他数据类型,则返回self.debugDescription。这样的话只有打印model时会打印显示属性,而其他类型就不会受影响了



一周精选

weekly selection

C

C

iOS 移动端面向文档开发

一位程序媛眼中的程序员

在GitHub上最受欢迎的大多是库或框架

[iOS]终极横竖屏切换解决方案

让你成为Git和GitHub大神的20个技巧

WatchOS系统开发大全


CocoaChina

全球最大 苹果开发中文社区








请到「今天看啥」查看全文