EEYatHo 앱 깎는 이야기

Swift ) Realm 배열 사용하기 - EEYatHo iOS 본문

iOS, Swift

Swift ) Realm 배열 사용하기 - EEYatHo iOS

EEYatHo 2021. 3. 25. 14:21
반응형


Realm에는 Swift의 Array를 사용할 수 없습니다.

Swift의 Array는 Realm의 Object를 상속하지 않기 때문입니다.


해결 방법으로,

Realm에서 제공하는 List라는 데이터형을 활용하면 됩니다.

 

 

 

Realm List 활용한 예시 코드


Swift에서 사용할 때는 Array이고, Realm 내부적으로는 List인 인터페이스 입니다.

 

class MyModel: Object {
    ....
    // 원하는 데이터가 String 이라고 가정했을 때,
    let dataList: List<String> = List<String>()
    var dataArray: [String] {
        get {
            return dataList.map{$0}
        }
        set {
            dataList.removeAll()
            dataList.append(objectsIn: newValue)
        }
    }
    ...
}

외부에서 dataArray만 가지고 작업하면,

List가 필요할 때는 알아서 List로 제공하게 됩니다.

 

 

Comments