gpt4 book ai didi

objective-c - 为了避免 [NSNull performSelector :. ..] 问题而使用 NSNull 类别技巧是否合乎规范?

转载 作者:搜寻专家 更新时间:2023-10-30 20:10:01 26 4
gpt4 key购买 nike

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

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

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

大家怎么看?

最佳答案

当您向应用程序发送一些消息时,该类在不会崩溃应用程序方面是安全的。它的行为很像 nil 值。

此类不解决错误!如果您可能得到NSNull,您应该按照它的方式行事并处理那个案子。

一旦我使用了这样的类(也是因为 JSON),但是我将 NSLog(或 ratcher 断点)放入 -forwardInvocation: 方法中以查看 在哪里为什么它被调用。我不会在生产中使用它。


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

关于objective-c - 为了避免 [NSNull performSelector :. ..] 问题而使用 NSNull 类别技巧是否合乎规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14571131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com