2011-04-13 2 views
1

파일에 NSMutableArray를 쓰려고하는데 매번 실패합니다. 나는 내가 진술 한 길은 옳다고 믿는다. 그 밖의 무엇이 문제 일 수 있습니까?파일 쓰기 실패

for (int i=1; i<=10/*[self getcurrentnumber]*/;i++) 
{ 
    [mutablearray addObject:[self convertJSONtoDictionary:[self generateJSONforcomic:[NSNumber numberWithInt:i]]]]; 
    NSLog(@"Iteration %i",i); 
} 
NSLog(@"Done %.0u",[mutablearray count]); 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); 
NSString *libraryDirectory = [paths objectAtIndex:0]; 
NSString *location = [libraryDirectory stringByAppendingString:@"/Comics.txt"]; 
NSLog(location); 
[mutablearray writeToFile:location atomically:YES]; 
if(![mutablearray writeToFile:location atomically:YES])NSLog(@"Fail"); 

나는 convertJSONtoDictionary가 실제로 사전을 반환하도록하기 위해 인트로 스펙 션을 사용하고 있습니다.

+0

왜 같은 배열을 두 번 쓰고 있습니까? 그리고 mutablearray가 0이 아닌지 확인하십시오. – Max

+0

와우! 나는 지금 당황 스럽다 ... 그것은 참으로 제로였다. 감사 맥스! :) – Julian

답변

0

배열에는 배열의 저장 메커니즘 인 plist에 쓸 수없는 개체가있을 것입니다.

일반적인 예는 맞춤 클래스, UIImage 또는 NSNull입니다 (JSON을 파싱하기 때문에).

손으로 plist를 만들 수 없다면 배열에서 저장할 수 없습니다.

+0

아니요, 훨씬 간단한 문제였습니다. 제 배열은 무효입니다 :/시간 낭비를해서 죄송합니다! – Julian

+0

아하. 걱정 하지마. 언젠가 다른 누군가가 디스크에 쓰지 않는 배열을 가지고있을 때 내 대답이 그들을 도울지도 모른다. –