0

巨大な 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 を指定します。しかし、配列は保存されません...

4

2 に答える 2

2

正しく保存されているかどうかを確認します。

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

ドキュメントについて

- (BOOL)writeToURL:(NSURL *)原子的にaURL:(BOOL)原子的に

これを使用して、何が起こっているかを確認することもできます。

- (BOOL)writeToURL:(NSURL )aURL オプション:(NSDataWritingOptions)マスク エラー:(NSError * )errorPtr

于 2012-06-19T14:54:12.697 に答える
0

何のクラスcourseですか?

writeToURLplist 形式に変換できる型のみをサポートします。これらの型は、NSString、NSData、NSArray、または NSDictionary です。

NSArray に他のタイプがある場合は、配列をアーカイブする必要があります。

于 2012-06-19T15:01:46.393 に答える