코어데이터 변경 및 마이그레이션
코어데이터 모델을 변경하고 마이그레이션을 하지 않았더니 다음과 같은 에러가 발생했습니다. 코어데이터를 처음 사용하는 것이라 마이그레이션을 해야한다는 것 조차 모르고 그냥 변경했더니 에러가 주르륵...
일단 급한대로 시뮬레이터에 설치된 앱을 지웠더니 에러는 사라졌습니다. 매번 코어데이터를 변경할 때마다 앱을 지우고 다시 깔 수도 없고 특히 이미 배포해 버린 후라면 유저들에게 일일이 앱을 지우고 다시 설치해달라고 할 수 없으니 코어데이터 모델을 변경하는 법을 알아봅시다.
새로운 모델 버전 추가
Add Model Version
Editor
-> Add Model Version
을 선택하고 이름을 버전 2라는 의미로 기존 모델 명에 v2
를 추가하여 생성합니다.
그러면 다음과 같이 ---v2.xcdatamodel
이 생성된 것을 볼 수 있습니다.
Update Model Version
그 다음으로 할 일은 새로 생성한 ---v2.xcdatamodel
을 선택 후 우측 Inspectors
를 눌러 Model Version
을 새로 생성한 MiniVibe v2
로 변경해 줍니다. 여기서 MiniVibe
는 제가 설정한 이름이고 여러분이 생성한 모델 명의 버전 2를 선택하면 됩니다.
그러면 다음과 같이 녹색 체크박스가 ---v2.xcdatamodel
로 이동하였습니다. 이제부터 코어데이터 모델을 변경하면 됩니다.
Change Attributes Name
만일 Attribute Name
을 변경하고 싶으면 해당 Attribute
를 선택한 후 우측 하단에 보이는 Renaming ID
에 기존의 Attribute Name
을 기입하고 원하는 이름으로 변경하면 됩니다.
Add Mapping Model
위의 작업을 마치고 다시 앱을 실행하면 짜잔 에러가 발생합니다.
모든 변경이 마무리되면 Mapping Model
을 추가해줘야 합니다.
command
+ n
을 눌러 새로운 파일 생성하기를 실행시킵니다. iOS
에서 Mapping Model
을 선택 후 Next
를 누릅니다.
그 다음 Source Data Model
은 이전 xcdatamodel
을 선택합니다.
Target Data Model
은 새로 생성한 ---v2.xcdatamodel
을 선택합니다.
그 다음 이름을 정하고 생성한 후 프로젝트를 빌드하여 앱을 실행시키면 에러 없이 잘 실행됩니다.🌝
참고
'iOS > iOS' 카테고리의 다른 글
iOS) gitignore 적용하기 (0) | 2021.01.13 |
---|---|
iOS) 서버와 데이터 통신을 위해 URLRequest 작성하기 (0) | 2020.12.16 |
iOS) Build input file cannot be found 에러 해결 (0) | 2020.11.07 |
iOS) NavigationBar의 Border 지우기 (0) | 2020.10.09 |
iOS) UITableView로 채팅 UI 만들기(1) (0) | 2020.09.23 |