귀하의 코드 realm.objects(DataInfo.self).filter("IdInfo == %@", id)
는 Results<DataInfo>
(DataInfo의 필터링 모음)을 반환, 그래서 당신은 정말 DataInfo
객체를 반환하지 않는 것입니다. 결과로 DataInfo
을 얻으려면 scope.first!
으로 전화하십시오.
static func getInfoById(id: String) -> DataInfo {
let realm = try! Realm()
let scope = realm.objects(DataInfo.self).filter("IdInfo == %@", id)
return scope.first!
}
내가 힘 랩핑 해제가 아이템을 찾을 수 없습니다, 그리고 충돌의 전무 값의 결과를 강제 풀기 수 있기 때문에 권장하지 않습니다,하지만. 따라서 대신 DataInfo?
을 반환 할 수 있습니다. 명시 적으로 IdInfo
가 기본 키는 것을 당신의 영역 개체 하위 클래스에 명시된 경우
static func getInfoById(id: String) -> DataInfo? {
let realm = try! Realm()
let scope = realm.objects(DataInfo.self).filter("IdInfo == %@", id)
return scope.first
}
또는 대신 realm.object(ofType: DataInfo.type, forPrimaryKey: id)
를 사용할 수 있습니다.
static func getInfoById(id: String) -> DataInfo? {
let realm = try! Realm()
return realm.object(ofType: DataInfo.self, forPrimaryKey: id)
}
마지막 코드 쇼는 내가 구문 분석! DataInfo으로 사용할 수있는 예상 유형 DataInfo에 결과 유형 '개체? "변환 할 수 없습니다? – user1801745
내 나쁜, 함수의 반환 형식은 옵션, 즉'DataInfo해야 하는가? '. – chrisamanse
이제 알았습니다.'Type DataInfo에 멤버 유형이 없습니다 .' ...'DataInfo.self'라고 생각됩니다. – user1801745