我想要实现的是:
class func getSomeObject() -> [SomeObject]? {
let objects = Realm().objects(SomeObject)
return objects.count > 0 ? objects : nil
}
如果为Results
,我如何将object作为[SomeObject]
返回
发布于 2015-06-28 21:42:51
我找到了一个解决方案。已在结果上创建扩展。
extension Results {
func toArray<T>(ofType: T.Type) -> [T] {
var array = [T]()
for i in 0 ..< count {
if let result = self[i] as? T {
array.append(result)
}
}
return array
}
}
和使用like
class func getSomeObject() -> [SomeObject]? {
let objects = Realm().objects(SomeObject).toArray(SomeObject) as [SomeObject]
return objects.count > 0 ? objects : nil
}
发布于 2015-09-08 19:39:14
奇怪的是,答案非常简单。我是这样做的:
let array = Array(results) // la fin
发布于 2015-06-29 02:30:51
如果您一定要将Results
转换为Array
,请记住这会带来性能和内存开销,因为Results
是惰性的。但是你可以在一行代码中完成,就像swift 2.0中的results.map { $0 }
(或者1.2中的map(results) { $0 }
)。
https://stackoverflow.com/questions/31100011
复制相似问题