【发布时间】:2012-04-05 09:07:11
【问题描述】:
我有这个代码。此代码不会在 Document 目录中创建文件,我不知道为什么。谁能看到我错过了什么。 “数据”字典中有我需要的内容,但是在 writeToFile 方面:它没有发生,因为没有创建文件。相同的代码在我拥有的其他应用程序中工作,我肯定错过了一些东西。
- (void)addBookmark{
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath: [self filePathOfBookmarks]])
{
[self filePathOfBookmarks];
}
NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile: [self filePathOfBookmarks]];
if ([fileManager fileExistsAtPath: [self filePathOfBookmarks]])
{
data = [[NSMutableDictionary alloc] initWithContentsOfFile: [self filePathOfBookmarks]];
}
else
{
// If the file doesn’t exist, create an empty dictionary
data = [[NSMutableDictionary alloc] init];
}
NSMutableDictionary *firstOne = [NSMutableDictionary dictionary];
[firstOne setObject:@"one" forKey:@"name"];
[firstOne setObject:@"two" forKey:@"call"];
[firstOne setObject:@"twoandhalf" forKey:@"email"];
[firstOne setObject:@"four" forKey:@"description"];
[data setObject:firstOne forKey:@"ID"];
[data writeToFile: [self filePathOfBookmarks] atomically:YES];
NSMutableDictionary *savedStock = [[NSMutableDictionary alloc] initWithContentsOfFile: [self filePathOfBookmarks]];
NSLog(@"file content %@",savedStock);
}
- (NSString *) filePathOfBookmarks {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDirectory = [paths objectAtIndex:0];
return [docDirectory stringByAppendingPathComponent:@"favourites"];
}
NSLog(@"%@",[self filePathOfBookmarks]);
返回:
/Users/spire/Library/Application Support/iPhone Simulator/5.1/Applications/40CAA37F-6477-4101-A142-D4797748ABD9/Documents/收藏夹
【问题讨论】:
-
filePathOfBookmarks是什么意思?它是否返回正确的路径。我需要你交叉检查一次,如果可能的话,把它贴在你的问题下面。 -
我认为您要创建文件的位置不存在。
-
@GrahamLee:对不起,我的错。这是我的一个错误。
-
@Spire 查看我更新的 ANS....
标签: iphone objective-c ios nsfilemanager