2010-06-04 4 views
0

코어 데이터에 일종의 매트릭스 또는 벡터 데이터를 저장해야하는 iPhone 응용 프로그램을 만들고 있습니다. 미지의 이유로 iPhone SDK에는 기본 클래스에 행렬 데이터 구조가 포함되어 있지 않으므로 NSMutableArrayNSMutableArrays 인 데이터 구조를 직접 작성하여 데이터를 저장했습니다. 여태까지는 그런대로 잘됐다.코어 데이터에 매트릭스 또는 벡터 데이터 구조를 저장하는 방법은 무엇입니까?

이 데이터 구조를 핵심 데이터 저장소에 저장하고 비표준 구조를 저장하는 데 transformable attributes을 사용하는 방법에 대해 읽었습니다. 내가 데이터 구조를 저장하려하면, 다음과 같은 오류가 발생합니다 : 본질적으로 내 개체의 속성 설정, 다음과 같이 내가 실행하고 [FCMatrix encodeWithCoder:]: unrecognized selector sent to instance 코드는 다음과 같습니다

[collection setMatrix:matrix]; 

이 시점에서 내 가정이 있다는 것입니다 가입일 행렬은 변환 가능한 속성이고 내 FCMatrix 클래스는 NSObject에서 서브 클래 싱 된 사용자 정의 객체이므로 코어 데이터가 올바르게 인코딩, 저장 및 디코딩 할 수 있도록 내 데이터 구조 클래스에 encodeWithCoder 메서드를 구현해야합니다. 데이터 구조. 아무도 이것을 할 수있는 가장 좋은 방법을 설명 할 수 있습니까?

또 다른 생각은 NSMutableArray에서 하위 클래스로 만들려면 FCMatrix 클래스를 다시 작성하는 것이라고 생각합니다. NSMutableArray가 변환 가능할 수 있다면, 나는 설정 될 것이다.

다른 방법으로 이것은 너무 많은 작업이며이를 수행하는 더 쉬운 방법이 될 것이라고 확신합니다. 누구든지 코어 데이터에 매트릭스 데이터를 저장하는 경험이 있습니까?

+0

게시물에 오류를 생성하는 코드 스 니펫을 던집니다. – Zak

+0

더 많은 정보를 추가했습니다. 그것은 꽤 기본적입니다, 나는 단지 내 실체에 속성을 설정하고 있습니다. – Jason

답변

0

난 내 자신의 문제에 대한 해결책을 마련했습니다 :

  • 코어 데이터는 변형 가능한 속성과 핵심 데이터에 NSMutableArray 객체를 저장할 수 있습니다.
  • 예를 들어 맞춤 매트릭스를 만들면 "FCMatrix"이면 핵심 데이터는 변환 가능한 객체로 저장하는 방법을 알 수 없습니다.
  • 따라서 Matrix 클래스는 기본적으로 완전히 정적 인 클래스로 만들 수 있습니다. 그런 다음 함수에 NSMutableArray 객체를 전달하고 이전 논리를 사용하여 NSMutableArray 객체를 조작 할 수 있습니다.
+0

저장하기 전에 읽을 수 있고, 소모 가능한 형태로 변환하는 것이 좋습니다. 예를 들어, Core Data의 문자열 안에 JSON 데이터 구조로 저장할 수 있습니다. 바이너리는 변덕 스러울 수 있으며 잘못 될 경우 제대로 할 수있는 방법이 없습니다. –

0

배열을 바이트로 변환하는 것으로 보겠습니다.이 배열은 NSData 개체에 저장되어 이진 속성에 배치 될 수 있습니다.

관련 문제