gpt4 book ai didi

iphone - 在 objective-C 的字典中替换 nil 的使用

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:08 25 4
gpt4 key购买 nike

我在 iPhone SDK 工作,对 Objective-C 还很陌生。现在我正在使用 NSUserDefaults 来保存和恢复我的 iPhone 应用程序上的设置。为了保存已经创建的类,我把它们编码成字典的形式,然后保存到NSdictionary。

我的问题是我找不到合理的方式在字典中以合理的方式存储非值(即为 nil 的类变量)。更具体地说,假设我有一个类“Dog”,它有 NSString *tail-color。可以说我正在尝试保存没有尾部的狗的类实例,因此该实例的尾部颜色为零。将 dog 保存为字典的合理方法是什么?它不会让我将 nil 保存到 NSdictionary 中。 @""不好,因为如果我这样做 if(@""),@""为真。我希望它像 nil 一样是假的。

希望我的问题有道理,感谢您的帮助!

最佳答案

如果您不为该 key 存储任何内容,则当您调用 objectForKey: 时将返回 nil。如果你在读入数据时检查nil,这就足够了吗?或者,您可以使用 objectsForKeys:notFoundMarker: 来返回默认值而不是 nil

因此,对于您没有的值,完全不要在字典中存储任何内容,并使用一种策略来处理阅读时丢失的值。

您可以使用 NSNull,但我觉得这不符合标准。

关于iphone - 在 objective-C 的字典中替换 nil 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1771579/

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