我试图将一个简单的数组写入plist文件,然后在以后检索它。我有以下代码:

+ (NSString*) dataFilePath
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
    NSString *documentDirectory = [paths objectAtIndex:0];
    NSString *dataFilePath = [documentDirectory stringByAppendingPathComponent:@"TipAlertViewDefaults.plist"];

    return dataFilePath;
}

+ (NSArray*) tipAlertViewDefaults
{
    NSString *dataFilePath = [self dataFilePath];
    NSLog(@"DataFilePath: %@", dataFilePath);
    NSMutableArray *tipAlertViewDefaults;

    if ([[NSFileManager defaultManager] fileExistsAtPath:dataFilePath])
    {
        NSLog(@"File Exists");
        tipAlertViewDefaults = [[NSMutableArray alloc] initWithContentsOfFile:dataFilePath];
    }
    else
    {
        NSLog(@"File Doesn't Exist");
        tipAlertViewDefaults = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithBool:NO], nil];
        [tipAlertViewDefaults writeToFile:dataFilePath atomically:YES];
    }

    return tipAlertViewDefaults;
}


我两次调用此方法,第一次,该方法不应找到该文件并首次写入。然后,第二个调用应该能够找到文件,但是找不到。谁能看到我在哪里出问题了?

最佳答案

同样,Xcode愚蠢的自动完成功能使您迷路了:NSDocumentationDirectory应该真的是NSDocumentDirectory

文档目录在iOS上不存在,因此您无法在此处编写。

10-08 11:40