我想寫一個簡單的數組到plist文件,然後再檢索它。我有以下代碼:找不到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;
}
我調用這個方法兩次,第一次它不應該找到該文件並寫它的第一次。然後第二個調用應該能夠找到該文件,但它不是。任何人都可以看到我要去哪裏嗎?
你是什麼意思「它不是」?應該輸入你的'if' /'else'的哪個分支,哪個分支實際上被輸入?你是否收到任何錯誤訊息? (另外,這是一個語法錯誤:'return [dataFilePath];') – bdesham 2013-04-05 15:08:42
'return [dataFilePath];' - 這不能編譯。 – 2013-04-05 15:13:37