领域的iOS:无法将类型的价值 'Dogs.Type' 预期参数类型 'T.Type'
问题描述:
这里是我的DBManager.swift领域的iOS:无法将类型的价值 'Dogs.Type' 预期参数类型 'T.Type'
import RealmSwift
class DBManager {
class func getAllDogs() -> [Dog] {
let realm = try! Realm()
// COMPILER ERROR: Cannot Convert value of type 'Dogs.Type' to expected argument type 'T.Type'
return realm.objects(Dog.self)
}
}
这是我Dog.swift:
import Foundation
import RealmSwift
class Dog: Object {
dynamic var firstName = ""
dynamic var lastName = ""
dynamic var dateOfBirth = ""
dynamic var lastFourSsn = ""
dynamic var currentLocation = ""
dynamic var dog: NSData!
}
我得到这个编译器错误:
Cannot Convert value of type 'Dogs.Type' to expected argument type 'T.Type'
好像我真的缺少基本的东西在这里 - 因为这是大部分代码directl y从RealmSwift documentation。我究竟做错了什么?
答
realm.objects(Dog.self)
返回Results<Dog>
而不是Array<Dog>
(又名[Dog]
)。误导性的错误信息可能只是编译器无法很好地报告发生类型错误的位置。
Stackoverflow上这样聪明的人 – etayluz