그래서 iOS 인벤토리 앱에 대한 작업을 시작했습니다. iOS 인벤토리 앱은 꽤 유연 해지고 싶습니다. 내가 원하는 것은 사용자가 제품 카테고리를 정의 할 수 있고 색상, 크기, 이미지, 스타일 등의 자유도를 정의 할 수 있다는 것입니다. 이러한 속성을 이미 포함하고있는 데이터 모델을 설계하여이 작업을 수행 할 수 있음을 알고 있습니다. 그러나 사용자가 항상 각각을 필요로하지는 않을 것이고 (더 문제가되는) 내가 생각하지 못했던 (재료 또는 브랜드와 같은) 다른 속성이 필요할 수도 있습니다. CoreData를 사용하여 이러한 종류의 유연한 데이터 모델을 구축 할 수있는 방법이 있습니까? 나는 plists를 사용하여 그것을 할 수 있다고 확신하지만, 나는 술어를 언급하는 것뿐만 아니라 iCloud와 NSFetchedResultsController를 이용하고 싶다.CoreData 사용자 정의 데이터베이스 구조?
데이터베이스를 사용하여 구현할 수없는 것입니까? 이제 내가 문제를보고 있는데, 강제 된 구조가 너무 제한적일 수 있습니다 ... 레코드를 추가 한 후 사용자가 속성을 변경하면 어떻게 될까요? 상점 이전을 처리해야합니까? 응. 이 미친인지 아닌지
...확인, 여기에 또 다른 접근 방식, 어쩌면 누군가가 댓글 수 있습니다. 내가 생각할 때, 사용자가 추가 할 수있는 모든 속성은 기본적으로 동일한 유형입니다. 문자열 태그 (속성 이름, 예 : '색상')와 일련의 문자열 값 (예 : '빨강', '숯', '청색'등). 그렇다면 왜 엔티티 대신 속성과 관계를 맺지 않는 것이 좋을까요? 이제는 객체 모델에 엔티티의 세 가지 항목, 즉 MerchCategory
이 있습니다.이 항목은 인벤토리의 개별 항목 인 MerchItem
과 항목이 가질 수있는 품질 인 Dimension
입니다. .
MerchItem
는 sku
특성을 가지며, Dimension
에 대다 관계뿐만 아니라 MerchCategory
에 대일 관계.
Dimension
는 name
및 value
속성 및 categories
및 items
다 대다 관계를 맺고있다.
그럴듯한 스키마입니까? 각자의 이름을보고 각 차원을 쿼리하고 값을보고 각 구성을 계산할 수 있습니다 ... 그리고 사용자는 NSEntityDescription을 사용하지 않고 새로운 차원을 추가 할 수 있습니다. . 생각?
왜 그런 식으로 작동하지 않을지 모르겠군요. 사실 핵심 데이터 프레임 워크의 기능과 유연성을 활용하는 좋은 방법 인 것 같습니다! 삭제 방법을주의 깊게 설정했는지 확인합니다. 다른 관계가없는 매달린 엔티티 또는 삭제 될 때 다른 엔티티를 제거하는 계단식 삭제로 끝나는 것은 매우 쉽습니다. 행운을 빕니다! – JiuJitsuCoder
멋지다, 고마워! 내가 대답 해 주면 대답을 올릴거야. – samson