gpt4 book ai didi

objective-c - 在 NSDictionary 中存储各种数据类型的新对象

转载 作者:行者123 更新时间:2023-12-03 17:38:47 24 4
gpt4 key购买 nike

Realm documentation site 上的领域迁移示例显示了一个带有新 NSString 对象的示例。该示例简单且解释清楚。

if (oldSchemaVersion < 2) {
newObject[@"email"] = @""; // creates an NSString object...
}

但是除了 NSString 之外的对象呢?需要如何调整代码片段才能创建这些其他数据类型的对象?

  • NSDate
  • NSData
  • RLMArray
  • NSIntegerint
  • double 浮点CGFloat
  • bool BOOL

最佳答案

只有 ObjC/Cocoa 中某些类型的对象有这样的文字快捷方式。 (从历史上看,NSString 实际上是具有这种语法的唯一类,但有几个是 added recently-ish by the Clang compiler 。)

NSDateNSDataRLMArray 没有文字语法;这些需要使用适当的构造方法来创建。

doublelongBOOL 等基本类型不能直接存储在 NSDictionary 中,但它们可以使用“糖”@() 进行包装,即:

newObject[@"numFrobs"] = @(anInteger);

这会将值放入 NSNumber 实例中,然后需要将其解包以检索原始值:

NSInteger numFrobs = [newObject[@"numFrobs"] integerValue];

关于objective-c - 在 NSDictionary 中存储各种数据类型的新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27680126/

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