ObjectID / UUID

JG Ahn·2025년 1월 7일

iOS

목록 보기
16/32
post-thumbnail

포켓몬 연락처 앱을 만들면서 UserDefaults를 사용해서 저장된 데이터를 조회할 때 어려움을 겪었다.

데이터베이스를 사용할때 기본키 역할을 하는 형식으로 생각을 하다보니 데이터를 저장할 구조체의 형태가 복잡해져서 프로젝트를 내 목표치만큼 완성시키지 못했다.

당시 팀원들과 코드리뷰를 하면서 내가 겪었던 문제를 얘기했고 그 중 ObjectIDUUID를 사용하면 해결될 것 같다는 말을 듣고 알아보려고 한다.

objectID

objectID는 객체를 관리하는 객체의 ID. 특정 객체의 고유 식별자를 나타낸다고 한다. 그리고 objectID는 NSManagedObjectID 타입이다.

objectID를 사용하면 특정 객체를 안전하게 참조하거나 데이터베이스에서 가져올 수 있다고 한다.

UUID

해석해보면 유형, 인터페이스 및 기타 항목을 식별하기 위한 보편적으로 고유한 값이라고 한다.

중복될 가능성이 거의 없기 때문에 데이터를 식별하기 위한 키로 사용하기에 적절하다고 생각된다.

UUID 형식

총 36자 문자열: (8문자)-(4문자)-(4문자)-(4문자)-(12문자)
ex) E621E1F8-C36C-495A-93FC-0C247A3E6E5F

UUID의 특징

  • 고유성 : UUID는 전 세계적으로 고유한 식별자를 생성하는 것을 목적으로 설계되어 중복될 확률이 거의 없다.
  • 네트워크 독립성 : 네트워크 없이도 UUID를 생성할 수 있어 서로 다른 시스템에서 생성된 UUID가 충돌할 가능성은 거의 없다.
  • 애플리케이션 간 연동에 유용 : 같은 공급 업체에서 제공하는 앱 간 동일한 UUID를 활용해 사용자 연동이 가능하다. 앱 삭제 후에도 관련 UUID가 남아있을 수 있어 데이터 연속성에 유리하다.

UUID 생성 및 사용 실습

구조체 생성 후 UUID 비교

0개의 댓글