Iphone 更新博客文章问题的TableView

Iphone 更新博客文章问题的TableView,iphone,ios,xcode,uitableview,refresh,Iphone,Ios,Xcode,Uitableview,Refresh,我正在尝试获得一个博客应用程序来刷新文章,并添加自上次发布以来可能已编写的任何新文章 TableView使用数组allEntries。我被告知,当用户单击刷新按钮时,我应该清除数组,清除后,运行原始启动代码来解析rss并重新填充表视图。我是这样做的: [_allEntries removeAllObjects]; [self refresh]; 但是,当我这样做时,它会因错误而崩溃: *** Terminating app due to uncaught exception 'NSRangeE

我正在尝试获得一个博客应用程序来刷新文章,并添加自上次发布以来可能已编写的任何新文章

TableView使用数组allEntries。我被告知,当用户单击刷新按钮时,我应该清除数组,清除后,运行原始启动代码来解析rss并重新填充表视图。我是这样做的:

[_allEntries removeAllObjects];
[self refresh];
但是,当我这样做时,它会因错误而崩溃:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 4 beyond bounds for empty array'
有没有想过我做错了什么

编辑:这是我的viewDidLoad和refresh代码,以及更新代码

- (void)viewDidLoad { [super viewDidLoad]; 
self.allEntries = [NSMutableArray array]; 
self.queue = [[[NSOperationQueue alloc] init] autorelease]; 
self.feeds = [NSArray arrayWithObjects:@"feedurlhere", nil]; 
[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];
}

}

-(void)updatearticle {
[_allEntries removeAllObjects];
[self refresh];
}

如果将
\u allEntries
用作表视图的数据源,则必须在
[\u allEntries removeAllObjects]
之后调用
[self.tableView reloadData]
它在首次加载时起作用,因为在调用refresh之前,提要会在viewDidLoad方法中填充。当删除所有对象并调用refresh时,数组中没有任何内容,因此会出现越界错误。您应该将所有代码(除了[self refresh])从viewDidLoad移到refresh方法。

您需要发布代码以进行刷新。这可能就是问题所在。当应用程序加载时,代码工作正常。有关更多代码,请参见编辑的原始问题。