CoreData의 많은 자료형을 저장 할 수 있습니다. 기본적인 숫자 문자 날짜 자료형 외에 BinaryData를 저장 할 수 있는데요 이 자료형을 통해 Image를 저장 할 수 있습니다. CoreData는 100KB미만의 바이너리 데이터까지는 데이터 베이스 안에서 효울적으로 관리 할 수 있지만 그 이상이 되는 크기는 외부에서 관리 하는게 더 효율적입니다.
이를 이용해서 Image를 저장 해보겠습니다.
제가 진행하고 있는 프로젝트의 모델입니다. 여러 속성들이 있지만 image라는 속성은 Binary Data 속성으로 되어있습니다.
이 속성을 눌러보면 왼쪽 인스펙터의 여러가지 옵션을 걸어줄 수 있는데요 여기서 Allow External Storage라는 속성을 체크 해야합니다. 위에서 말씀 드렸다 시피 코어데이터는 100KB까지 데이터를 효율적으로 다루기 때문에 이미지는 대부분 이보다 훨신 크기때문에 외부 저장소에서 관리하는게 좋습니다. UIImage는 image.pngData 를 통해 바이너리로 변환 할 수 있습니다.