您的位置:首页 > 其它

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

2016-11-04 14:52 204 查看
当看客看到标题的时候或许会有些疑惑,有的人甚至会鄙视写者。查看后台返回的数据类型为什么要用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只能使我变得更加强大,希望自己变得越来越强。加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐