如何保存书签数据?

时间:2011-08-18 01:11:44

标签: iphone objective-c cocoa-touch uitableview nsstring

我正在为我的应用创建一个非常简单的书签菜单。我只需要为每个对象保存3个字符串。

我在考虑使用核心数据,但由于各种原因,我不希望将其与核心数据库连接。因此,我还有其他简单的选择吗? NSUserDefaults或.plist?

我只需要为每个对象保存3个字符串,然后将它们加载到要查看的表视图中。

1 个答案:

答案 0 :(得分:1)

我推荐NSUserDefaults - 肯定更容易。我倾向于只将plist文件用于我想作为开发人员编辑的静态数据,但是从应用程序中想要它是只读的(例如嵌入式地图图像上的对象的坐标)。

根据您的描述,您可能希望存储包含NSDictionary的NSArray。

// Get the user defaults object
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];


// Load your bookmarks (editable array)
NSMutableArray *bookmarks = [[NSMutableArray alloc]init];
NSArray *bookmarksLoaded = [userDefaults arrayForKey:@"bookmarks"];
if (bookmarksLoaded != nil) {
    [bookmarks initWithArray:bookmarksLoaded];
} else {
    [bookmarks init];
}

// Add a bookmark
NSMutableDictionary *bookmark = [NSMutableDictionary new];
[bookmark setValue:@"value" forKey:@"name"];
[bookmark setValue:@"value" forKey:@"description"];
[bookmark setValue:@"value" forKey:@"code"];
[bookmarks addObject:bookmark];

// Save your (updated) bookmarks
[userDefaults setObject:bookmarks forKey:@"bookmarks"];
[userDefaults synchronize];

// Memory cleanup
[bookmarks release];