我正在使用this tutorial工作在RSS阅读器上。所有表格单元格数据来自NSMutableArray
实例(_allEntries)。然后我导入 EGOTableViewPullRefresh
并添加[self refresh]
在-(void)reloadTableViewDataSource
(self.refresh
是填充allEntries的数据的方法)。 然后拉刷新工程,但每次刷新时单元格都会重复。我试图用两种方式解决它。当我使用EGOTableViewPullRefresh时,表格单元格会被复制
当从互联网上下载数据,添加
if (![_allEntries containsObject:entry])
[_allEntries insertObject:entry atIndex:insertIdx]
之前,但它没有工作,也许我应该用entry.title
或对象进行比较一些其他的属性,但它不是有效的。就像我在
-viewDidLoad
中所做的那样,添加,但我不知道该在哪里放这一行。
有没有人能给我一个方向?
[编辑]
有没有在viewDidLoad中太多的逻辑,只是
self.allEntries = [NSMutableArray array];
self.queue = [[NSOperationQueue alloc] init]; //add download&parse operation to a queue
self.feeds = [self getFeeds]; //load feeds from local file
而且我把reloadTableViewDataSource [自刷新],我第一次打开我的应用程序,有没有在tableview中显示。然后我拉来刷新,它的工作。然后拉再次刷新,它得到了重复。
这是“刷新”方法。
- (void)refresh {
for (NSString *feed in _feeds) {
NSURL *url = [NSURL URLWithString:feed];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[_queue addOperation:request];
}
}
我想,所以我再次写self.allEntries = [NSMutableArray的数组]重建阵列但事实证明
“无效更新:行的无效数在0节中包含的行的数量更新(1)后的现有部分必须等于更新(140)之前该部分中包含的行数“。
所以如上所述,我真的很困惑我应该把这条线放在哪里。
Thx ~~
我编辑了我的问题。谢谢你的建议:-) – wyp