부족한 점이 보이시면 언제든지 알려주세요!
데이터 베이스로는 UserDefaults
, CoreData
, SQLite
등이 있지만 속도와 사용이 편리하다고 알려진 realm을 사용해보기로했다.
firebase는 JSON기반으로 구성해줘야하는데 내가 하려는 To do list와 메모장을 섞은듯한 그런 토이프로젝트에는 굳이 필요없기에 Realm을 사용해보려고한다.
오프라인을 우선으로 한 모바일 데이터베이스
ORM
없이 직접 접근하고 저장할 수 있는 모바일객체 데이터베이스입니다.firebase
는 JSON을 기반으로 작동하고, realm
은 Swift 객체를 기반으로 작동한다. 데이터를 쉽게 확인(변경) 할 수 있습니다.
cmd
+ g
를 입력하여 콘솔에 나온 해당 주소를 복사 붙여넣기우클릭
or control
+ 클릭
realm 데이터의 타입이나 값을 임의로 변경 했을 떄 나타나는데 이거 때문에 진짜 골치가 아팠다.
그치만 개발 중일 떄는 그냥 앱을 삭제하고 다시 설치하거나
AppDelegate
let realmURL = Realm.Configuration.defaultConfiguration.fileURL!
let realmURLs = [
realmURL,
realmURL.appendingPathExtension("lock"),
realmURL.appendingPathExtension("note"),
realmURL.appendingPathExtension("management")
]
for URL in realmURLs {
do {
try FileManager.default.removeItem(at: URL)
} catch {
// handle error
}
}
이 코드를 입력해주면 한방에 해결된다.
migration하는방법은
여기에 잘 나와있다.
마이그레이션 및 realm 추가 변경
https://www.mongodb.com/community/forums/t/firebase-vs-realm/9929/5