RealmSwift: Convert Results to Swift Array

前端 未结 11 1816
[愿得一人]
[愿得一人] 2020-12-12 15:50

What I want to implement:

class func getSomeObject() -> [SomeObject]? {
    let objects = Realm().objects(SomeObject)

    return objects.count > 0 ? o         


        
11条回答
  •  攒了一身酷
    2020-12-12 16:26

    I found a solution. Created extension on Results.

    extension Results {
        func toArray(ofType: T.Type) -> [T] {
            var array = [T]()
            for i in 0 ..< count {
                if let result = self[i] as? T {
                    array.append(result)
                }
            }
    
            return array
        }
    }
    

    and using like

    class func getSomeObject() -> [SomeObject]? {
        let objects = Realm().objects(SomeObject).toArray(SomeObject) as [SomeObject]
    
        return objects.count > 0 ? objects : nil
    }
    

提交回复
热议问题