mad*_*max 0 iphone nsdictionary writetofile
我认为标题说的都是.我使用了一些我在这里找到的示例代码,但不会创建该文件.
- (id)init {
[[NSBundle mainBundle] loadNibNamed:@"PadContent" owner:self options:nil];
if ([[NSFileManager defaultManager] fileExistsAtPath:[self filePathOfBookmarks]]) {
bookmarks = [[NSMutableDictionary alloc]
initWithContentsOfFile:[self filePathOfBookmarks]];
} else {
bookmarks = [[NSMutableDictionary alloc] init];
NSLog(@"file does not exist");
}
return self;
}
- (void)addBookmark:(id)sender{
[bookmarks setObject:[dataInstance chapter] forKey:[[dataInstance chapter]title]];
[bookmarks setObject:[dataInstance chapter] forKey:@"test"];
NSLog(@"count: %d", [bookmarks count]);
NSLog([self filePathOfBookmarks]);
[bookmarks writeToFile:[self filePathOfBookmarks] atomically:YES];
}
- (NSString *) filePathOfBookmarks {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDirectory = [paths objectAtIndex:0];
return [docDirectory stringByAppendingPathComponent:@"bookmarks"];
}
Run Code Online (Sandbox Code Playgroud)
你的字典里有什么?只有某些基础对象可以写出并回读,而无需您做任何额外的工作.如果您的字典包含您定义的自定义对象,则需要使用其他机制来编写和读回数据,例如NSArchiver.我猜[dataInstance chapter]
这些基本对象类型中没有任何产量.
有关writeToFile:atomically:
可自动读取和写入的数据类型,请参阅NSDictionary的文档.另请参阅NSArchiver和NSCoding协议.