配列/辞書のデータをplistファイルに保存する方法

1445 ワード

以前はファイルにコンテンツを書き込むのがどんなに大きな機能なのか、iOSでは重要な方法しか必要ありませんでした.
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;

を選択して設定できます.
この方法は実はNSArrayとNSDictionaryの実例の方法で、くだらないことは多く言わないで、私のテストコードを添付します
- (void)writeToFile
{
    NSDictionary *dict = @{@"A":@[@"1",@"2",@"3"],
                           @"B":@[@"4",@"5",@"6"],
                           @"C":@[@"7",@"8",@"9"]};
    NSArray *array = @[@"A",@"B",@"C",@"D",@"E",@"F",@"G"];
    
    // plist 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *plistPath = [paths objectAtIndex:0];
    NSLog(@"%@",plistPath);
    
    // 
    NSString *fileName1 = [plistPath stringByAppendingPathComponent:@"test1.plist"];
    NSString *fileName2 = [plistPath stringByAppendingPathComponent:@"test2.plist"];
    
    NSFileManager *fm = [NSFileManager defaultManager];
    if ([fm createFileAtPath:fileName1 contents:nil attributes:nil]) {
        [array writeToFile:fileName1 atomically:YES];
        NSLog(@" 1 ");
    }
    if ([fm createFileAtPath:fileName2 contents:nil attributes:nil]) {
        [dict writeToFile:fileName2 atomically:YES];
        NSLog(@" 2 ");
    }
}