Realm에서 데이터를 찾을때
realm.objects(Info.self).filter(age > 10) 방식으로 찾으면
실제 테이블이 아직 없거나 할경우 App 이 죽게 된다.
따라서 Object 에 PrimaryKey를 사용한다고 가정하에
아래와 같은 방법을 사용하면 옵셔널을 포함하여 안전하게 데이터를 가져올수 있다.
realm.object(ofType: Info.self , forPrimaryKey: "0")
좀더 다양한 모델을 Generic 한 방법으로
여러 곳에서 공통으로 사용할 함수를 만들고 싶다면,
아래와 같이 선언하여 사용 가능하다.
func getSafetyDataInRealm<T: Object>(_ className: T.Type, _ primaryKey: String?) -> T? {
guard primaryKey != nil else {
return nil
}
let realm = try! Realm()
if let languagePack = realm.object(ofType: T.self , forPrimaryKey: primaryKey!) {
return languagePack
} else {
return nil
}
}
사용 방법
if let info = getSafetyDataInRealm(Info.self, "0") {
}
'공부방 > iOS' 카테고리의 다른 글
Swift WKWebView setting useragent for Google Sign-In (0) | 2019.08.19 |
---|---|
XCode Archive disable (XCode Archive 비활성) (0) | 2019.08.16 |
When iOS notification click remove all that how to block ? (0) | 2019.08.09 |
Tip of update data in swift realm (0) | 2019.07.31 |
How to use realm browser (Realm browser 사용 방법 ) (0) | 2019.07.26 |
행복한 코딩을 위하여!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!