无法将Realm列表从List <specificobject>转换为List <object>

时间:2018-05-03 13:25:49

标签: swift realm

我正在使用CloudKit(https://github.com/caiyue1993/IceCream)处理Realm同步库。

我尝试做的是通过List<SpecificObject>访问parentObject["propertyName"]的域对象属性。

由于我无法直接引用SpecificObject类型,因此我尝试将其转换为List<Object>,如下所示:

parentObject["propertyName"] as? List<Object>

但这会产生nil

投射到AnyRealmCollection<Object>的结果相同。

它成功投射到ListBase,这是List<T>的超类,但这没用。

关于我可能做错的任何想法,或者我应该将其作为问题提交给RealmCocoa回购?

1 个答案:

答案 0 :(得分:1)

由于Swift中的泛型类型是不变的,List<Object>List<ObjectSubclass>是两个完全不相关的类型。因此,代码中的失败演员阵容。

在不知道List中存储的确切类型的情况下,由于它们不变,因此无法将List<ObjectSubclass>转换为List<Object>类型