Swift 领域 - "Value of type 'Results' has no member"
Swift Realm - "Value of type 'Results' has no member"
我正在尝试从 RealmDB 获取数据并按 ID 过滤。正如 Realm 文档所建议的那样 (https://realm.io/docs/swift/latest/#queries) 我正在使用:
let realm = try! Realm()
let Result = realm.objects(DBName.self).filter("ID == %@", id)
XCode 在这两行中没有显示任何警告或错误,但是当尝试通过这样做来使用结果时:
print(Result.ID)
即使在数据库中有 ID 字段也会出现错误:
Value of type 'Results<DBName>' has no member 'ID'
。而且我也无法访问任何其他字段。
realm.objects(DBName.self).filter("ID == %@", id)
这returns ID
是id
的所有DBName
个对象在Results
[doc] 中。因此,返回值是一个对象列表。这就是错误显示 'Results<DBName>' has no member 'ID'
.
的原因
如果您 100% 确定其中有一个对象,您可以尝试以这种方式检索第一个元素。 (对于生产,您应该始终使用 guard
语句来防止崩溃,正如 Jay 在评论部分中所建议的那样。)
realm.objects(DBName.self).filter("ID == %@", id).first!
或者,如果您的 ID
是主键,您可以这样做。
realm.object(ofType: DBName.self, forPrimaryKey: id)
我正在尝试从 RealmDB 获取数据并按 ID 过滤。正如 Realm 文档所建议的那样 (https://realm.io/docs/swift/latest/#queries) 我正在使用:
let realm = try! Realm()
let Result = realm.objects(DBName.self).filter("ID == %@", id)
XCode 在这两行中没有显示任何警告或错误,但是当尝试通过这样做来使用结果时:
print(Result.ID)
即使在数据库中有 ID 字段也会出现错误:
Value of type 'Results<DBName>' has no member 'ID'
。而且我也无法访问任何其他字段。
realm.objects(DBName.self).filter("ID == %@", id)
这returns ID
是id
的所有DBName
个对象在Results
[doc] 中。因此,返回值是一个对象列表。这就是错误显示 'Results<DBName>' has no member 'ID'
.
如果您 100% 确定其中有一个对象,您可以尝试以这种方式检索第一个元素。 (对于生产,您应该始终使用 guard
语句来防止崩溃,正如 Jay 在评论部分中所建议的那样。)
realm.objects(DBName.self).filter("ID == %@", id).first!
或者,如果您的 ID
是主键,您可以这样做。
realm.object(ofType: DBName.self, forPrimaryKey: id)