我正在尝试将当前日期保存到我的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];
}
如果您喜欢答案,请标记为正确。谢谢!