在我们的项目中,当网络上有东西返回带有nil的JSON时,我们偶尔会让我们的iPhone应用程序崩溃。当然,我们确实有一个帮助类,它可以解决类似的问题。然而,人们容易出错并且在NSDictionary上调用objectForKey而不是我们自己的stringForKey或dateForKey等。现在,有一个类可以一劳永逸地杀死所有问题:https://github.com/nicklockwood/NullSafe
我的问题是:NullSafe真的安全吗?因为如果逻辑错误并且你得到NSNull,有时你确实希望程序崩溃。忽略这个问题隐藏了它。该应用程序可能不会崩溃,但在某些情况下,会做一些奇怪的事情。
现在我倾向于不使用这个类,只是确保在我们尝试解析获取值之前,我们的JSON NSDictionaries已经过滤了所有NSNull(但它可能会影响性能)。
你们有什么想法?
答案 0 :(得分:3)
当您向其发送一些消息时,该类在不崩溃方面是安全的。它的行为与nil
值非常相似。
此课程无法解决错误!如果可能获得NSNull
,您应该按照 那样行事并处理情况下。
一旦我使用了这样的类(也是因为JSON),但我将NSLog
(或ratcher断点)放入-forwardInvocation:
方法中以查看从哪里和为什么它被称为。我不会在制作中使用它。
您还询问了表现。不确定什么需要更多:从数组中删除NSNull
或在所有类中搜索其方法签名;)