[swift] Swift Realm 모델 생성과 데이터 타입 지정

Realm은 iOS 앱에서 사용할 수 있는 손쉽고 강력한 데이터베이스입니다. 이번 포스팅에서는 Swift에서 Realm 모델을 생성하고 데이터 타입을 지정하는 방법에 대해 알아보겠습니다.

Realm 설치

Realm을 사용하기 위해서는 먼저 Realm 프레임워크를 프로젝트에 추가해야 합니다. CocoaPods를 사용한다면 Podfile에 다음과 같이 추가합니다.

pod 'RealmSwift'

그리고 pod install 명령어를 실행하여 RealmSwift 프레임워크를 다운로드합니다.

CocoaPods를 사용하지 않고, 수동으로 설치하려는 경우 Realm의 공식 사이트에서 프레임워크 파일을 다운로드하여 프로젝트에 추가합니다.

모델 생성

Realm 모델은 앱에서 사용할 데이터를 나타내는 클래스입니다. 클래스를 Realm 모델로 만들기 위해서는 Object 클래스를 상속받아야 합니다. 모델 클래스는 데이터베이스 테이블의 열에 해당하는 프로퍼티를 포함해야 합니다.

import RealmSwift

class Person: Object {
    @objc dynamic var name = ""
    @objc dynamic var age = 0
}

위의 예제에서 Person 클래스는 Object 클래스를 상속받았으며, 이름과 나이를 나타내는 nameage 프로퍼티를 가지고 있습니다. 프로퍼티들은 @objc dynamic 키워드로 속성을 지정해야 합니다.

데이터 타입 지정

Realm은 기본적으로 지원하는 데이터 타입 외에도 다양한 커스텀 데이터 타입을 지원합니다. Realm에서 지원하는 기본 데이터 타입은 다음과 같습니다.

Realm에서 커스텀 데이터 타입을 사용하려면 @objc dynamic 속성을 추가하고 타입을 Object를 상속받는 클래스로 지정해야 합니다.

import RealmSwift

class Car: Object {
    @objc dynamic var name = ""
    @objc dynamic var company: Company? // 커스텀 데이터 타입
}

class Company: Object {
    @objc dynamic var name = ""
    @objc dynamic var address = ""
}

위의 예제에서 Car 클래스는 namecompany라는 프로퍼티를 가지고 있습니다. companyCompany 클래스를 참조하는 커스텀 데이터 타입입니다.

결론

위에서 알아본 것처럼 Swift Realm에서 모델 생성과 데이터 타입 지정은 상대적으로 간단합니다. Realm은 높은 성능과 강력한 데이터베이스 기능을 제공하므로 iOS 앱에서 데이터를 관리해야 할 때 유용하게 사용할 수 있습니다.

더 자세한 내용은 Realm 공식 문서를 참고하시기 바랍니다.