2012-06-19 2 views
0

내가 검색 한 후 파일로 거대한있는 NSArray를 저장하기 위해 노력하고있어 파일 수 ...저장 NSArray를

NSURL *documentsDirectory = 
[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory 
          inDomains:NSUserDomainMask] lastObject]; 
NSURL *fileURL = [documentsDirectory 
        URLByAppendingPathComponent:@"scorecards.dgs"]; 


NSMutableArray *savedArrayOfScorecards = [NSMutableArray arrayWithContentsOfURL:fileURL]; 
[savedArrayOfScorecards addObject:currentScoreCard]; 

[savedArrayOfScorecards writeToURL:fileURL atomically:YES]; 

NSMutableArray *mynewArray = [NSMutableArray arrayWithContentsOfURL:fileURL]; 

NSLog(@"%@, %@",[[mynewArray objectAtIndex:0] objectForKey:@"info"], course); 

NSLog는 ...로 돌아옵니다

(null), BridgeMill 

어떤 BridgeMill이 쉼표의 양쪽에 반환되어야합니다. 그러나 배열은

답변

2

확인이 제대로 저장되지 않다면 ... 저장하지 않습니다 :

if([savedArrayOfScorecards writeToURL:fileURL atomically:YES]) 
{ 
    NSLog(@"Was saved"); 
} 
else 
{ 
    NSLog(@"Houston we have a problem..."); 
} 

documentation에 :

- (BOOL)writeToURL:(NSURL *)aURL atomically:(BOOL)atomically

당신은 또한 무슨 일이 일어나고 있는지 확인하려면이 옵션을 사용할 수 있습니다 :

- (BOOL)writeToURL:(NSURL )aURL options:(NSDataWritingOptions)mask error:(NSError *)errorPtr

+0

휴스턴 우리는 문제가 있습니다 ... –

+0

Ahaha. :) 좋아, 시도해 볼 수 있습니다 : 1) 경로가 ** 이론적으로 ** 정확한지 확인하십시오. 2) 두 번째 방법을 사용하고 'NSError'를 검사합니다. – Peres

0

어떤 클래스가 course입니까?

writeToURL은 plist 형식으로 변환 할 수있는 유형 만 지원합니다. 이러한 유형은 NSString, NSData, NSArray 또는 NSDictionary입니다.

NSArray에 다른 유형이 있다면 archive the array이어야합니다.