2013-02-13 2 views
0

이 값을 저장해야합니다.코어 데이터 및 어레이

x 값 = 시간

, Y 값 1, Y-값 2, Y-VALUE3, ..., Y-value10

은 각각의 시간에 대해,이 다른 yValue 슬라이스있다. 그것이 두 사람 사이의 연관성입니다.

저는 Core-Data 방법론을 처음 접했고 배열에 저장할 수 없다고 들었습니다. 나는 그것들을 질의 할 필요가 없다. 그러나 나는 주어진 세션 후에 그것들을 나중에 데이터베이스에 저장할 필요가있다. (이것은 1000 개가 넘는 entires를 가정한다 - 그래서 NSMutableArray에 그것들을 모두 넣고 싶지 않다.)

Core-Data는이 문제를 공격하는 가장 실용적인 방법이며, 이와 같은 양의 데이터를 처리 할 수있는 더 나은 솔루션입니다.

편집 : 지금까지 내 모델은 이렇게 보입니다.


엔티티 1 : 시간 분할

특성 : 시간 -

관계 플로트 :


엔티티 2 값 :

속성 값 : yValue1, yValue2, yValue3을 ..., yValue10 - float

+0

모델에 더 많은 코드를 추가해야합니다. 그렇지 않으면 이것은 대답보다는 오히려 추측입니다. 그러나 배열 값을 별도의 테이블에 저장하고 일대 다 관계의 배열 멤버를 참조해야합니다. –

+0

제발 내 편집을 확인하십시오. 아직까지 코딩하지 않았지만 코어 데이터의 배열 측면에서 올바른 방향으로 가고 있는지 궁금합니다. – freedom

답변

1

각 yValue가 나타내는 변수의 유형에 따라 다르지만 필요한 것보다 더 어색한 방식으로 작업하는 것처럼 보입니다. 어레이에 배열을 넣은 다음 해당 배열을 코어 데이터 영구 저장소의 NSData 특성에 저장할 수 있습니다. 실제로 이들을 쿼리 할 필요가 없다면 yValue 클래스가이 질문에 자세히 설명 된대로 encodeWithCoder : 메소드를 구현하는지 확인해야합니다. Converting a NSObject into NSData

그런 다음 이러한 객체의 배열을 만들어 전체 배열을 NSData 객체와 엔티티의 단일 속성에 저장합니다. 이것은 아마도 그것을 저장하는 가장 효율적인 방법 일 것입니다. - 시간 입력

특성

법인 : 핵심 데이터 모델은 다음과 같을 것이다 시간 -의 NSNumber

특성 : yValues ​​-을 NSData

당신이 쿼리 수있는이 핵심 데이터 모델을 사용하여 특정 시간 (또는 여러 시간 집합)을 저장 한 다음 필요에 따라 NSData 객체를 보관 취소합니다.

'유형'의 객체를 만들려면 관계가 더 좋습니다. 한 가지 전형적인 예가 회사 -> 관리자 -> 직원 패러다임입니다. 각 회사, 매니저 및 직원은 회사가됩니다. 회사와 여러 관리자, 그리고 각 관리자에서 여러 직원에게 일 대 일 관계가 있습니다. 또한 각 직원이 둘 이상의 관리자 등에게 할당 될 수도 있습니다.

+0

입력 해 주셔서 감사합니다. 나는 이것을 시도 할 것이다 :) – freedom

0

코어 데이터는 정렬 관계를 지원하므로 iOS5 이후부터 생각합니다. 대수 관계를 편집 할 때 체크 박스에서 "주문 됨"을 선택하기 만하면됩니다.