티스토리 뷰

iOS

ios realm swift 기초 - 1

@서비 2022. 6. 2. 03:30

 

 

1. 설치

 

Podfile 에 추가 해 준다.

pod 'RealmSwift'

 

 

2. 기본 사용 방법

 

테스트용 class 생성 @objc dynamic 은 swift에서 최적화를 하지 말라는 것으로 이해하면 된다.

class Person : Object {
    @objc dynamic var name : String = ""
    @objc dynamic var age : String = ""
    
    
    override static func primaryKey() -> String? {
        return "name"
    }
    
}

 

 

Init

초기화는 단순하다. print 문을 찍은 이유는 생성되는 .realm 이라는 db 파일의 위치를 알기 위함이다.

//init
        let realm = try! Realm()
        print( Realm.Configuration.defaultConfiguration.fileURL)

 

CRUD

기본 동작은 일관되고 단순 하다.  realm.objects 로 읽어오고, 읽어온 객체에 조건을 넣어 data를 읽을 수 있다. 쓰기, 업데이트, 삭제 동작은 write 라는 함수 안에서 실행되고 db data가 변형 되는 것은 모두 동일한 곳에서 사용 한다고 보면 된다.

		//read
        let persons = realm.objects(Person.self)
        
        
        //query
        let querydata = persons.where{
            $0.name == "--"
        }
        
        
        //delete all
        try! realm.write{
            realm.delete(persons)
        }
        
    
        //write
        try! realm.write {
            realm.add(person1)
        }


		//update
        try! realm.write {
            persons[0].age = "19"
        }

 

3. db데이터 조회

실제로 Simulator 에 저장된 db data를 조회 할 수 있다.

(반드시 설치경로로 가서 설치 할 것 : 버전에 따라 동작이 다를 수 있다.)

https://studio-releases.realm.io/latest/download/mac-dmg


설치가 완료 되면 아까 프린트 된 경로의 .realm 파일을 열어 준다. 복잡하므로 cmd 창에 open 으로 붙여 넣는다. 그러면 설치한 프로그램이 자동으로 실행되며 아래와 같은 창에 저장된 db를 보여준다.

 

open file:///Users/heungseopsim/Library/Developer/CoreSimulator/Devices/C6438DB8-B377-44E4-B6DC-7F67F96F1DAB/data/Containers/Data/Application/3A68F16E-35CC-49AA-A8D2-216A1E44C5B9/Documents/default.realm

'iOS' 카테고리의 다른 글

HIG(Human Interface Guideline)-Settings  (0) 2022.08.09
left constraint와 leading constraint의 차이  (0) 2022.07.25
lottie-ios quick start -1  (0) 2022.05.08
Frame 과 Bounds 의 차이  (0) 2022.05.07
In-Active State  (0) 2022.04.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
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 29 30
31
글 보관함