2011-06-13 5 views
-2

파일에서 다차원 배열을 쓰고 검색하는 데 문제가 있습니다. 나는 배열에 쓰기를 원하는 모든 객체를 추가하고 그것이 생성 한 파일에서 배열을 작성 및 검색합니다. 다차원 배열 옆의 다른 모든 객체는 다차원 NSMutable 배열 객체를 제외하고는 올바르게 읽고 쓰기가됩니다.파일에 다차원 NSMutableArray 문제 쓰기

NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:filePath]; 
multiDiminutionalArray = [array objectAtIndex:1]; 

어떤 아이디어 :

[array addObject:multiDiminutionalArray]; 
[array writeToFile:[self dataFilePath] atomically:YES]; 

내가 사용하는 배열을 읽어

나는 사용하여 어레이를 작성?

+3

두 가지 중요한 질문 : 어떤 일이 발생할 것으로 예상되며 실제로 무엇이 일어나고 있습니까? – Chuck

+1

척과 동의하십시오. 이러한 것들은 일반적으로 조용히 실패하지 않으므로 작동하지 않는다면, 우리가 일어나고있는 일을 신성하게하는 수정 구슬이 있다고 가정하지 마십시오. 오류를 게시하십시오. 또한, -writeToFile에서 BOOL 반환 값을 검사조차하지 않습니다. ... ... 그래서 성공적으로 작성된 것인지 어떻게 알 수 있습니까? 통화 결과를 더 잘 점검해야합니다 ("방어 프로그래밍"참조). –

답변

0

YuzaKen이 답변에 댓글을 넣었어야합니다.

배열에 저장된 하나 이상의 개체 클래스에 대한 NSCoding 적합성 부족이 문제라고 생각됩니다. NSArray는 자신을 아카이브하는 방법을 알고 있지만 그 안에 저장된 객체를 알고 있습니까?

또는 파일 경로가 유효한 파일 경로인지 확인하십시오. @ "myFile.dat"와 같은 경우 전체 경로가 아니기 때문에 유효하지 않습니다. @ "~/Desktop/myFile.dat"와 같은 경우 물결표가 전체/Users/me/... 경로로 확장되지 않았기 때문에 유효하지 않습니다.