ユーザーが追加のフィードを追加できるテーブルビューで複数の Web サイトからのフィードを表示するアプリを開発しています。
ASIHTTPRequest を使用して、次のチュートリアルに基づいてアプリを作成しました 。
したがって、私の問題は、新しいリンクを追加した後、更新方法の後にすべてのソースから投稿が重複することです。
これが私のviewDidLoadメソッドです:
- (void)viewDidLoad
{
[super viewDidLoad];
self.title =@"Lajmet";
self.navigationController.navigationBar.tintColor = [UIColor blackColor];
self.allEntries = [NSMutableArray array];
self.queue = [[NSOperationQueue alloc] init];
self.feeds = [NSMutableArray arrayWithObjects:@"http://pcworld.al/feed",@"http://geek.com/feed", @"http://feeds.feedburner.com/Mobilecrunch",@"http://zeri.info/rss/rss-5.xml",
nil];
[self.tableView reloadData];
[self refresh];
}
更新方法は次のようになります。
-(void)refresh
{
for (NSString *feed in _feeds)
{
NSURL *url = [NSURL URLWithString:feed];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[_queue addOperation:request];
}
}
このスクリーンショットでは、アプリケーションがどのように見えるか、および追加画面が新しいソースに対してどのように機能するかを確認できます。1 つのフィードを自動的に追加して機能するかどうかをテストするように、完了ボタンを構成しました。
-(void)addSourcesViewController:(AddSourcesViewController *)controller didAddSource:(RSSEntry *)source
{
Source *newSource = [[Source alloc] init];
newSource.name = @"Test";
newSource.link = @"http://lajmeshqip.com/feed";
[self.feeds addObject:newSource.link];
NSLog(@"%@", self.feeds);
[self dismissViewControllerAnimated:YES completion:nil];
[self refresh];
}
だから私の問題は、完了ボタンを押した後、すべてのエントリが複製され、テーブルビューに表示されることです。[self.tableView reloadData];
最後の方法の代わりに使用しようとし[self refresh];
ましたが、新しいリンクがまったく表示されません。
ASIHTTPRequest または従うことができるヒントを使用して最後のエントリをロードする方法はありますか? 私は新しく、どのアプローチに従うべきかわかりません。どんな助けでも大歓迎です。
どうもありがとう!
花崗岩