写入 plist 时出错


[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"data.plist" atomically:YES];

此行给出-stringByAppendingPathComponent找不到方法的错误。 问题出在哪里

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *array = [[NSArray alloc]initWithObjects:@"First", @"Second", @"Third", nil];
[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"data.plist" atomically:YES]];

正如 Mats 在评论中指出的那样,但似乎被忽略了(或被您在编辑中错误地更正(:

[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"data.plist" atomically:YES]]; 

应该是

[array writeToFile:[documentsDirectory stringByAppendingPathComponent:@"data.plist"] atomically:YES]; 

请注意括号的位置。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
plistpath = [[NSString alloc] initWithString:[documentsDirectory stringByAppendingPathComponent:@"Product.plist"]];

然后

[array writeToFile:path atomically:YES]; 
[Whatever [Array or Dictionary] you want to Write in Plist]

如果它仍然没有创建 plist,请检查您的数组或字典是否必须为空。

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSLog(@"%@",documentsDirectory);
    NSString *plistName = @"%@chores.plist";
    NSString *path = [documentsDirectory stringByAppendingPathComponent:plistName];
    NSArray *array=[[NSArray alloc]initWithObjects:@"abc",@"pqr",@"xyz",nil];
[array writeToFile:path atomically:YES];

最新更新