2010-07-08 104 views
0

我试图找到一些在互联网上的信息,但不能。 我是iphone新手,但我已经学到了一些东西。我已经创建了解析RSS提要并显示它的应用程序,但我还没有弄清楚如何向用户显示他已阅读哪些内容,哪些内容尚未阅读。我有一些想法,但我不知道他们是好还是可笑。可能有人知道它通常在许多现有的RSS阅读器中完成。RSS阅读器如何知道我已阅读哪些项目,以及哪些项目我没有阅读?

谢谢很多))

回答

1

easies的方式是存储所有的rss ID NSUserDefault。然后,当应用程序加载时,他们只是将其加载到NSSet,并检查rss列表

另一种方法是在RSS新闻对象中有一个名为isRead的属性(如果您以这种方式为数据建模),然后使用NSCoding与encodeWithCoder和initWithCoder来编写并获取所有对象及其属性

+0

非常感谢,如果我将我的RSS解析为数组,说出NSdictionaries,是否有一些标准的方法来检查它与NSSet?或者我应该使用foreach循环? – Burjua 2010-07-08 16:38:20

+0

如果你把你的rss放到一个数组(或字典)中,你可以通过整个数组遍历一个循环来获取每个元素的id,然后你[set containsObject:id]来检查该id是否在set中。如果你害怕性能,整体性能为O(n)循环数组和O(1)for containsObject – vodkhang 2010-07-08 16:48:03

+0

谢谢,是否有更好/更简单的方法来保持RSS与数组分开? – Burjua 2010-07-08 16:54:04

0

应用程序将需要存储哪些项目已经读取信息。也许存储该项目的<guid>元素。

+0

将所有消息序列化所有消息好了,感谢您的快速回复,我考虑过了,我还有一个问题,那就是假设Feed已刷新并且我下载并解析它,在内存中创建新的数组。有一些旧项目和一些新项目,我如何保存旧项目的状态并将其应用到新阵列?如果嵌套的foreach循环需要某种类型,或者它可以做得更简单吗?对不起,如果我写得不是很清楚)) 谢谢 – Burjua 2010-07-08 15:48:38