如何将RealmSwift List转换为结果?
我使用Realm List/Results
作为UITableView
dataSource。 在某些时候,我为它分配一个列表。 喜欢:
var dataSource:List! // Or >> Results! let aRealmObject = realm.objectForPrimaryKey(SomeObject.self, key: objectId) dataSource = aRealmObject.someList // dataSource should be List
然后我在这个列表上有一个filter如果用户更改了过滤日期,我喜欢这样:
dataSource = dataSource.filter("FILTER THE DATES",newDates) // dataSource should be Results
但上面的行会导致错误,因为filter
的返回类型是Results
对象,而aRealmObject.someList
是List。
处理这种情况的最佳方法是什么?
- 将dataSource作为
List
并将Results
对象转换为List
? 怎么样?? - 将dataSource作为
Results
并将List
转换为Results
? 怎么样?? - 或者你可能有更好的方法,请与我分享。
谢谢,
List
和Results
(以及LinkingObjects
)都可以转换为AnyRealmCollection
类型。 我认为这可能是标准化所有Realm的数组类型类型的最佳方法:
var dataSource:AnyRealmCollection! let aRealmObject = realm.objectForPrimaryKey(SomeObject.self, key: objectId) dataSource = AnyRealmCollection(aRealmObject.someList)
我找到了一种简单的方法将List
转换为Results
,如果使用filter方法,它总是返回Results
对象。 只是给了它一个真正的谓词。
dataSource = aRealmObject.someList.filter("TRUEPREDICATE") //this is a Results object.