使用Obj-C Realm,有没有办法从Swift中使用NSNumber <rlmint>?

时间:2016-01-26 08:11:31

标签: ios objective-c swift realm

我们目前正在使用Objc Realm 0.96和Swift(因为我们的应用程序也支持iOS7)并且正在寻找一种方法将可空Int作为RLMObject子类的属性之一。根据官方文档,NSNumber<RLMInt>应该用于此目的,但不幸的是,Swift方面似乎不支持使用特定类型标记NSNumber

有没有人知道如何从Swift方面支持可以为空的Int或Bool?

2 个答案:

答案 0 :(得分:0)

这是Swift的限制。目前唯一的方法是在Objective-C中定义模型或将类型声明为NSNumber并设置默认值,这允许Swift在运行时确定盒装类型。此默认值必须与nil不同。

答案 1 :(得分:0)

借助当前的Swift语言功能,我们现在可以执行此操作,以将nil作为带有Realm-Objc的Swift中可选Int或Bool的默认值

可选布尔: dynamic var optionalBool: (NSNumber & RLMBool)?

可选的Int: dynamic var optionalInt: (NSNumber & RLMInt)?