부족한 점이 보이시면 언제든지 알려주세요!
데이터 베이스로는 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