3

在我们的项目中,当网络上有东西返回带有 nil 的 JSON 时,我们偶尔会导致我们的 iPhone 应用程序崩溃。当然,我们确实有一个助手类,它可以处理这样的问题。但是,人们很容易出错,并且确实在 NSDictionary 上调用 objectForKey 而不是我们自己的 stringForKey 或 dateForKey 等。现在,有一个类可以一劳永逸地解决所有此类问题:https ://github.com/nicklockwood /NullSafe

我的问题是:NullSafe 真的安全吗?因为有时你确实希望你的程序在逻辑错误并且得到 NSNull 时崩溃。只是忽略问题会隐藏它。该应用程序可能不会崩溃,但在某些情况下,会做一些奇怪的事情。

现在我倾向于不使用这个类,只是在我们尝试解析获取值之前确保我们的 JSON NSDictionaries 被过滤掉了所有 NSNulls(虽然它可能会影响性能)。

你们有什么感想?

4

1 回答 1

3

该类在您向其发送消息时不会使应用程序崩溃,这是安全的。它的行为很像nil价值。

这个类不解决bug!如果你可能得到NSNull,你应该照原样处理处理这种情况。

一旦我使用了这样的类(也是因为 JSON),但我将NSLog(或棘轮断点)放入-forwardInvocation:方法中以查看从何处以及为何调用它。我不会在生产中使用它。


您还询问了性能。不确定需要更多:NSNull从数组中删除 s 或搜索所有类的方法签名;)

于 2013-01-28T21:44:16.083 回答