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