前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用plist文件查看后台返回数据的数据类型

利用plist文件查看后台返回数据的数据类型

作者头像
用户1451823
发布2018-09-13 16:05:00
6360
发布2018-09-13 16:05:00
举报

当看客看到标题的时候或许会有些疑惑,有的人甚至会鄙视写者。查看后台返回的数据类型为什么要用plist文件,这也太麻烦了吧。我既然写这篇博客,肯定是有一定的原因的,它也必然有一定的价值。接下来让写者慢慢道来(实际内容也不多)。

要想看后台返回的数据类型,一般后台在给我们接口的时候都会在接口文档中标明返回的数据的数据类型(这在接口定义中我们一般都会和后台进行商量以及最后的确定)。如果有些接口后台没有或忘记在接口文档中给出返回的数据以及数据类型我们还可以利用网上的一些解析工具将接口中的数据进行解析如:http://json.cn这个在线解析工具。如果只是以上两种情况,我也就不会写这篇博客了,我之所以要写这篇博客是因为我遇到了第三种情况:接口中的数据类型改了,并且后台没有和我们说。这第三种情况就让人很是无奈,甚至气愤。

简说本人经历:本人之前的程序是可以正常运行的,可就隔了一天再次运行程序却发现程序崩溃。程序崩溃这应该所有程序猿比较烦恼的一件事,但这也是家常便饭。在发现这种程序崩溃的时候,我就隐约感到可能是后台那边出了问题(因为之前这种情况出现多次,后台改了接口)。可首先还是得先查bug ,看问题到底出在哪里。我首先看后台返回的数据,发现数据和之前的一样,并没有发生像之前的缺数据或多数据的问题。于是打了全局断点(Exception breakPoint),可断点并没有定位到出现问题的位置,而是跑到了main函数中,在控制台打出了[__NSCFNumber length]: unrecognized selector sent to instance 0x8b3c310’ - andy_she的错误,看来是某个NSNumber类型的数据使用了NSNumber这个类没有的方法。NSNumber?我有的惊讶,我好像没有用过NSNumber类型的数据啊,想了良久,矛头还是指向了后台,难道后台返回了NSNumber类型的数据,可是之前商量都是NS String类型的数据啊,况且之前也使用了,程序没有问题。可为了确定是后台问题再去找后台问问,于是又去查看后台返回的数据。本App是包含用户登录功能的,此接口需要用户登录之后才能有数据,因此如果直接在浏览器中查看此接口返回的数据是没有数据的,需要在控制台打印出后台返回的数据。可在控制台看不出返回的数据到底是NS String类型的还是NSNumber类型的(第三种情况)。我于是将获取到的JSON数据写到一个plist文件中,查看返回的数据的数据类型。方法:[dataDic writeToFile:@"/Users/liangseb/Desktop/plist/1.plist" atomically:YES]; 这样在程序运行完成后就可以打开在桌面上的plist文件查看后台返回的数据的数据类型了。最后发现果然还是后台的问题,后台竟然直接改了数据类型,并且没有通知我。于是去找后台。

实际方法很简单,本篇博客写的东西比较多的是本人的经历过程,看客可以看下我的坎坷经历,我平时写技术性博客废话并不多,可对于这种问题遇到过好多次了,心里真的不爽,写在这里算是发泄一下吧。看客只需看到方法就行了。

经历过这样的bug后,相信再遇到这样的问题,我会很快找到问题所在。所谓的大牛都是经历过无数的bug的,都是在bug中成长起来的。不能打败我的bug只能使我变得更加强大,希望自己变得越来越强。加油!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年11月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档