亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

iOS模型打印

標簽:
Html5

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

https://img1.sycdn.imooc.com//5d2dd3b4000170dc07370056.jpg

image.png


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

https://img1.sycdn.imooc.com//5d2dd3b60001825607120337.jpghttps://img1.sycdn.imooc.com//5d2dd3bb0001fb9c07160138.jpg

image.png


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


https://img1.sycdn.imooc.com//5d2dd3bf0001fb9c07160138.jpg

image.png

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


https://img1.sycdn.imooc.com//5d2dd3c40001bcb907170333.jpg

image.png


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


https://img1.sycdn.imooc.com//5d2dd3c8000188f907250388.jpg

image.png

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


https://img1.sycdn.imooc.com//5d2dd3cc0001965207240357.jpg

image.png


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

https://img1.sycdn.imooc.com//5d2dd3da00015fa407200438.jpg

image.png



作者:小明的知识库
链接:https://www.jianshu.com/p/c173d1460463


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消