티스토리 뷰

반응형

Realm은 iOS, Android 및 기타 플랫폼을 위한 빠르고 사용하기 쉬운 모바일 데이터베이스 솔루션입니다. iOS 장치의 데이터 지속성을 위해 Core Data 및 SQLite에 대한 대안을 제공합니다. Realm은 데이터 작업을 위한 간단하고 직관적인 API를 제공하며 반응형 프로그래밍, 실시간 동기화, 암호화와 같은 고급 기능을 지원합니다.

다음은 몇 가지 주요 Realm 기능에 대한 간단한 설명입니다.

1. 객체 지향 설계: Realm은 데이터 저장을 위해 객체 지향 접근 방식을 사용하므로 SQL 쿼리를 작성하는 대신 객체 및 관계를 직접 사용할 수 있습니다.

2. 성능: Realm은 디스크 공간 사용을 최소화하고 일반 데이터베이스 작업에 필요한 시간을 줄이는 데 중점을 두고 빠르고 효율적으로 설계되었습니다.

3. 리액티브 프로그래밍: Realm은 리액티브 프로그래밍 패턴을 지원하므로 데이터 변경 사항을 쉽게 관찰하고 대응할 수 있습니다.

4. 실시간 동기화: Realm은 장치와 Realm 오브젝트 서버 간에 실시간 데이터 동기화를 제공하므로 협업 애플리케이션 및 온라인-오프라인 시나리오에 탁월한 선택입니다.

다음은 Swift에서 모델을 정의하고 기본 CRUD 작업을 수행하기 위해 Realm을 사용하는 간단한 예입니다.

 

1.  Swift 파일 상단에서 RealmSwift를 가져옵니다.

import RealmSwift

2. Object를 확장하는 모델 클래스를 정의합니다.

class Person: Object {
    @Persisted var id: String = UUID().uuidString
    @Persisted var name: String = ""
    @Persisted var age: Int = 0
}

3. Person 모델에서 CRUD 작업을 수행합니다.

func realmExample() {
    do {
        let realm = try Realm()

        // Create a new Person object
        let newPerson = Person()
        newPerson.name = "John Doe"
        newPerson.age = 30

        // Add the new Person to the Realm database
        try realm.write {
            realm.add(newPerson)
        }

        // Fetch all Person objects from the Realm database
        let people = realm.objects(Person.self)

        // Update the first Person name
        if let firstPerson = people.first {
            try realm.write {
                firstPerson.name = "Jane Doe"
            }
        }

        // Delete the first Person from the Realm database
        if let firstPerson = people.first {
            try realm.write {
                realm.delete(firstPerson)
            }
        }

    } catch {
        print("Error: \(error.localizedDescription)")
    }
}

이 예제에서는 Realm의 Object 클래스를 확장하는 Person 모델 클래스를 정의합니다. 그런 다음 새 Person 개체를 만들고 Realm 데이터베이스에 추가하고 모든 Person 개체를 가져오고 첫 번째 Person의 이름을 업데이트하고 첫 번째 Person을 삭제합니다. 이 예제는 Swift에서 Realm을 사용하는 기본 CRUD 작업을 보여줍니다.

Swift Package Manager, CocoaPods 또는 Carthage를 사용하여 RealmSwift 패키지를 설치해야 합니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함