2012-07-28 5 views
2

iOS 앱에서 Core Data (sqlite 포함)를 사용하고 있으며 현재 엔티티에 몇 가지 새로운 속성을 추가하고 있습니다. 나는 약 110 가지의 속성에 달려있다. 이것이 많이 있다는 것을 알고 있지만, 다른 방법으로 데이터를 정리하려고하면 신뢰할 수있는 앱을 계속 유지하는 것이 불가능하다는 것을 알게되었습니다.너무 많은 속성에 관한 Cora Data 경고를 무시할 수 있습니까?

Xcode에서 이제 경고 메시지가 나타납니다. "잘못 구성된 엔터티 : 엔터티에 100 개가 넘는 속성이 있으며, 더 얕은 엔터티 계층 구조 또는 비정규 속성을 고려하십시오."

비정규화된 속성이 의미하는 바를 모르지만, 데이터 모델을 그대로 유지하려고합니다. 나는 어떤 종류의 경고라도 포함하는 코드를 정상적으로 출하하지 않습니다. 하지만 적어도 데이터를 구조화하는 더 좋은 방법을 찾기 전까지는 당분간이 경고를 무시해도됩니까?

+0

비정규 화를 읽었습니다. 이는 기본적으로 내 데이터 모델로 이미 시도한, 실패한, 실패한 것을 나타내는 용어입니다. 나는 데이터베이스에 익숙하지 않은데, 정규화되지 않은 한 내 데이터로 무슨 일이 일어나고 있는지 실제로 알 수 없다. – beev

+0

엔티티에 대해 더 정확하게 설명 할 수 있습니까? –

+0

엔티티는 33 개의 카테고리로 등급을 매겨 야하는 학생입니다. 각 카테고리에는 기술 수준 (문자열), 업데이트 날짜 (날짜) 및 일부 메모 (문자열)가 있습니다. 학생의 성, 이름, 생년월일, 이메일 주소, 일반적인 메모 등의 속성이 있습니다. 학생의 기록이 선택되면 사실상 모든 정보가 한 번에 표시됩니다 (즉, 한 쌍의 뷰는 한 뷰 컨트롤러에서 처리되어 동일한 테이블 뷰에 표시됩니다). 현재 앱 업데이트를 진행 중이며 큰 변화를 피하려고합니다. – beev

답변

3

범주를 제목, 기술 수준, 날짜 및 메모로 구성되는 별도의 엔터티로 이동해야합니다. 그것이 올바른 길이며, 모든 경고를 제거 할 것입니다. 학생들은 카테고리와 일대 다의 관계를 맺게됩니다. 한 학생이 많은 카테고리에있을 수 있습니다. 바로 그 것입니다.

+0

감사합니다. 이것이 내가해야 할 일이다. 그것은 나를위한 중요한 이주 일 것이다. 지금까지 가벼운 마이그레이션 만 사용했습니다. 나는 또한 많은 코드 변경을해야 할 것이다. 다음 업데이트를위한 방식으로 유지하고 이후 업데이트에서 데이터 모델을 수정하면 그 동안 계속 작동할까요? 나는 그것이 좋은 습관이 아니라는 것을 안다. 그러나이 앱은 터무니없이 복잡하다. 그리고 나는 더 많은 카테고리 (100 개 이상의 속성을 가짐)를 추가하는 업데이트를 위해 내 목을 숨 쉬고있다. 최대한 빨리 업데이트를 얻고 마이그레이션을 서두르지 않고 조심스럽게 할 수 있습니다. – beev

+0

네, 괜찮습니다, 걱정할 필요가 없습니다 –

+0

대단히 감사합니다. – beev