如何保存在iphone设备用户最喜欢的文章中

时间:2011-10-13 07:19:31

标签: iphone objective-c list preferences user-preferences

我有newsportal应用程序,我希望用户在按下按钮时将正在阅读的整篇文章保存到iphone设备,以便他可以随时访问它。我还想知道文章是否保存到用户列表而不是保存两次

1 个答案:

答案 0 :(得分:1)

您需要使用NSUserDefaults保存。

[prefsObject addStringToURL: urlString];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:[prefsObject getNSArrayOfURLS] forKey:@"FavouriteURL"];
[userDefaults synchronise];
[userDefaults release];

prefsObject是您编写的用于保存收藏夹的类。它可能只保存数组,但您可以在其中放置用于搜索,添加,删除等的便捷功能。

urlString是一个NSString,包含文章的URL。

addStringToURL是一个将urlString添加到NSMutableArray的方法。

getNSArrayOfURLS是一个返回包含所有URL的NSMutableArray的方法。

稍后,加载数据

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[prefsObject initWithNSArray:(NSArray)[userDefaults objectForKey:@"FavouriteURL"]];

initWithNSArray是一个使用NSArray方法加载NSMutableArray的方法,使用NSArray方法mutableCopy,它返回一个NSMutableArray。该方法可能看起来像

-(void)initWithNSArray:(NSArray*)arrayToLoad{
prefsArray = [arrayToLoad mutableCopy];
}

请注意,我没有测试过这个确切的代码,但我在我的应用中使用了类似的版本。

您可以找到搜索NSMutableArray以获取现有网址here的解决方案。