gpt4 book ai didi

ios - 将收藏夹保存到 NSUserDefaults

转载 作者:行者123 更新时间:2023-12-01 18:54:30 25 4
gpt4 key购买 nike

我有一个显示来自网站的帖子的应用程序。我正在尝试为用户添加使用 NSUserDefaults 保存他们喜欢的帖子的功能。我需要为用户想要保存为收藏夹的每个帖子保存标题和 url,以便我可以在表格 View 中显示标题,然后允许用户选择收藏夹,然后打开带有相应 url 的 web View 。我想我会将帖子标题和网址保存在字典中,然后从字典数组中填充表格 View 。我的问题是如何在 NSUserDefaults 中保存字典而不覆盖以前保存为用户默认值的收藏夹?例如,用户将帖子保存到收藏夹字典,然后将其保存到用户默认值。然后他们将另一篇文章保存到字典中,但该字典替换了用户默认值中已经存在的字典。

这是我尝试过的。收藏夹 TableView 仅显示最后保存的一个。

- (void)addFavorite {
NSMutableArray *favoritesArray = [NSMutableArray array];
NSDictionary *favoriteDictionary = [NSDictionary dictionaryWithObjectsAndKeys:self.postTitle, @"title", self.postUrlString, @"url", nil];

[favoritesArray addObject:favoriteDictionary];

[[NSUserDefaults standardUserDefaults] setObject:favoritesArray forKey:@"favorites"];
[[NSUserDefaults standardUserDefaults] synchronize];

最佳答案

试试这样的

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *favoritesLoaded = [defaults objectForKey:@"favorites"];

NSDictionary *fav = [NSDictionary dictionaryWithObjectsAndKeys:
object.title, @"title",
object.url, @"url",
nil];

NSMutableArray *favorites = [NSMutableArray array];

if (favoritesLoaded) {
favorites = [[NSMutableArray alloc] initWithArray:favoritesLoaded];
} else {
favorites = [[NSMutableArray alloc] init];
}

[favorites addObject:fav];

[defaults setObject:favorites forKey:@"favorites"];
[defaults synchronize];

关于ios - 将收藏夹保存到 NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28663638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com