let rootInfo = realm.objects(StoreRealM.self).filter(msg)
    var root = [StoreRealM]()
    for i in 0 ..< rootInfo.count {
        if let result = rootInfo[i] as? StoreRealM {
            root.append(result)
        }
    }

我在这行上的if let result = rootInfo[i] as? StoreRealM知道了。我也得到

从“StoreRealM”到“StoreRealM”的条件转换始终成功

最佳答案

由于root仅可以包含StoreRealM对象(由编译器保证),因此您无需将索引访问权限强制转换为该类型。甚至更多,它不能包含Optional<StoreRealM>对象。

因此,编写for循环应该足够了:

for i in 0 ..< rootInfo.count {
    let result = rootInfo[i]
    root.append(result)
}

10-08 06:26