程序在获取某些数据之后莫名崩溃。其实很早就发现了原因:

由于服务器的数据库中有些字段为空,

然后以Json形式返回给客户端时就会出现这样的数据:

"somevalue":null

通过JsonKit 这个第三方库解析出来的数据就成了:

somevalue = "<null>";

 

这个数据类型不是nil 也不是 String。 解析成对象之后,如果直接向这个对象发送消息(eg:length,count 等等)就会直接崩溃。

 

找到了一劳永逸的方案,牛逼的老外写了一个Category,叫做NullSafe.

在运行时操作,把这个讨厌的空值置为nil,而nil是安全的,可以向nil对象发送任何message而不会奔溃。

这个category使用起来非常方便,只要把(NullSafe.m)加入到了工程中就可以了,你其他的什么都不用做,

对,就是这么简单。