0

ユーザーが追加のフィードを追加できるテーブルビューで複数の 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 または従うことができるヒントを使用して最後のエントリをロードする方法はありますか? 私は新しく、どのアプローチに従うべきかわかりません。どんな助けでも大歓迎です。

どうもありがとう!

花崗岩

4

1 に答える 1