我正在尝试将当前日期保存到我的plist中,然后将该plist提交到手机中,以供以后使用(和更新)。

下面的代码是我用来尝试保存日期的代码,但是它似乎无法正常工作,因为它只能输入“一次”(一旦首次创建文件),然后每次都跳过此代码。作为其创建和可用...。

但是,这不起作用,我不确定为什么,这是我编写的代码。

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *plistFilePath = [documentsDirectory stringByAppendingPathComponent:@"DB-Date.plist"];

    if(![[NSFileManager defaultManager] fileExistsAtPath:plistFilePath])
    {//dosnt exits

        NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"DB-Date" ofType:@"plist"];
        NSMutableArray *data = [NSMutableArray arrayWithContentsOfFile:plistPath];
        NSArray *arrValue = [data objectAtIndex:0];

        NSDate *dateValue = [arrValue objectAtIndex:0];
        dateValue = [NSDate date]; //change your value here

        [[data objectAtIndex:0] replaceObjectAtIndex:0 withObject:dateValue]; //value replaced
        [data writeToFile:plistFilePath atomically:YES];

    }


//从这里开始,我继续使用新创建的plist文件

任何帮助将不胜感激。

最佳答案

因此,mainBundle和NSDocumentaryDirectory是两个不同的地方...这应该足以解决您的问题;)

您似乎有很多多余的代码...让我们改成括号:

if(![[NSFileManager defaultManager] fileExistsAtPath:plistFilePath])
    {

     NSMutableArray *data = [[NSMutableArray alloc]init];

     NSDate *dateValue  = [NSDate date];

    [data addObject:dateValue];

    [data writeToFile:plistFilePath atomically:YES];

   }


如果您喜欢答案,请标记为正确。谢谢!

07-28 02:36
查看更多