3

저는 사용자가 엔티티를 동적으로 생성해야하는 iPad 애플리케이션을 구축하고 있습니다. 이미 프로그램을 사용하는 엔티티가 3 개 있습니다.
코드 수행 방법을 알려주세요.Objective-C에서 동적으로 엔티티를 만드는 방법은 무엇입니까?

나는 새로운 managedObjectModel를 만드는 새로운 요소를 추가하고 하나 이상의 기존에 병합 할 필요가 나의 이해에 따라 전체 구조를 이해하려는

, 그것은 올바른? 맞습니다

답변

2

이 대규모 복잡합니다. 그렇지 않으면 기존의 지속 된 데이터를 새로운 모델과 새 영구 저장소 파일로 마이그레이션해야합니다. 특히 핵심 데이터로 시작하는 경우이 작업을 시도하지 말 것을 강력히 권장합니다. 당신은 당신이 실제로 새로운 법인을 필요로 확신, 첫째

:

당신은 옵션이 있습니까? 핵심 데이터로 시작하는 사람들은 관리 대상에 대한 엔티티를 종종 잘못 이해합니다. 엔티티는 클래스가 인스턴스가 될 때 관리 객체에 대한 것입니다. 엔티티는 객체 그래프를 만드는 데 사용되는 추상화입니다. 그들은 실제로 데이터를 포함하지 않습니다. 새로운 엔티티가 필요한 시대는 매우 드뭅니다. 동적 개체의 어떤 종류를 필요로하는 경우에

둘째, 그것은 일반적으로 다수의 고정 subentities에 동적 개체를 분해 한 후 가상 엔티티를 생성하는 관계를 사용하는 것이 가장 좋은 것입니다. 예 : 동적 Person "엔티티"가 필요해 모델의 여러 엔티티를 작성하여 각 엔티티의 한 속성을 보유합니다. fieldName 속성과 fieldValue 속성을 갖는 Field 엔티티를 가질 수 있습니다. 그런 다음 속성이없고 실제 필요한 객체 인 Field 객체에 대한 실제 Person 엔티티를 갖습니다. 어떤 사람에게 필요한 필드를 추가 한 다음 관계를 해당 필드로 이동하여 가상 사람 개체를 재구성 할 수 있습니다.

그러나 내가 그런 유연성을 필요로하는지 의심 스럽습니다. 그러한 필요성은 매우 드뭅니다. 나는 뒤로 물러나서 사용자가 입력해야 할 수도있는 다이나믹 데이터를 정확히 볼 것입니다.

+0

+1 난 당신이 영업 이익은 다른 관리 개체 (공통) 및 다른 개체를 추가 할 필요가 (엄청나게 희귀)을 추가 할 필요가 사이에 혼동되는 것을 추론에 바로 생각합니다. – h4xxr

+0

감사합니다. TechZen. 두 번째 옵션에 대해 더 자세한 정보를 얻을 수 있습니까? 부디... –

2

- 당신은 다음 새 관리 개체 모델에 setEntities: 전화, NSEntityDescription 객체의 배열을 만들 것입니다. 그런 다음 마지막으로 모델을 기본 제공 모델과 병합합니다.

그러나 관리되는 개체 컨텍스트를 만드는 데 사용 (또는 저장을 위해 사용) 된 후에는 모델을 변경할 수 있습니다. 모델이 변경된 후에는 새 저장소 및 컨텍스트를 만들어야합니다. 이 새로운 개체와 연습에 즉시 새로운 모델을 만들 수 있지만