Я бы порекомендовал NSUserDefaults - это, конечно, проще. Я склонен использовать файлы plist только для статических данных, которые я хочу, чтобы они редактировались как разработчик, но из приложения хочу, чтобы они были доступны только для чтения (например, координаты для объектов на встроенном изображении карты).
Из вашего описания вы, вероятно, захотите сохранить NSArray, содержащий NSDictionary.
// 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];