포켓몬 연락처 앱을 만들면서 UserDefaults를 사용해서 저장된 데이터를 조회할 때 어려움을 겪었다.
데이터베이스를 사용할때 기본키 역할을 하는 형식으로 생각을 하다보니 데이터를 저장할 구조체의 형태가 복잡해져서 프로젝트를 내 목표치만큼 완성시키지 못했다.
당시 팀원들과 코드리뷰를 하면서 내가 겪었던 문제를 얘기했고 그 중 ObjectID와 UUID를 사용하면 해결될 것 같다는 말을 듣고 알아보려고 한다.
objectID

objectID는 객체를 관리하는 객체의 ID. 특정 객체의 고유 식별자를 나타낸다고 한다. 그리고 objectID는 NSManagedObjectID 타입이다.
objectID를 사용하면 특정 객체를 안전하게 참조하거나 데이터베이스에서 가져올 수 있다고 한다.
UUID

해석해보면 유형, 인터페이스 및 기타 항목을 식별하기 위한 보편적으로 고유한 값이라고 한다.
중복될 가능성이 거의 없기 때문에 데이터를 식별하기 위한 키로 사용하기에 적절하다고 생각된다.
총 36자 문자열: (8문자)-(4문자)-(4문자)-(4문자)-(12문자)
ex) E621E1F8-C36C-495A-93FC-0C247A3E6E5F

