我正在编写一个使用 AFNetworking 框架执行 HTTP 请求的应用程序,接收到的数据被解析然后放入表视图中
我用加载器创建了一个特殊的单元格,它会在请求进行时显示。这个单元格只有一个 .xib 文件,没有自定义类。我在这个单元格中添加了活动指示器,并在属性检查器中选中了“动画”选项。
我还创建了 BOOL ivar 来显示这个单元格。
BOOL isLoading;
这是单击“搜索”按钮时执行的功能:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
if ([searchBar.text length] > 0){
isLoading = YES;
[self.tableView reloadData];
searchResults = [NSMutableArray arrayWithCapacity:10];
NSURL *url = [self urlWithSearchText:searchBar.text];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
AFJSONRequestOperation *operation = [AFJSONRequestOperation
JSONRequestOperationWithRequest:request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
[self parseDictionary:JSON];
[searchResults sortUsingSelector:@selector(compareName:)];
isLoading = NO;
[self.tableView reloadData];
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON){
[self showNetworkError];
isLoading = NO;
[self.tableView reloadData];
}];
[queue addOperation:operation];
}
}
这就是我得到那个细胞的方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (isLoading) {
return [tableView dequeueReusableCellWithIdentifier:LoadingCellIdentifier];
}
/*other code */
}
当我执行我的第一次搜索时,这个单元格会出现动画活动指示器,一切正常,但在所有其他时间,这个单元格都会出现不旋转的指示器,这就是问题所在。为什么会这样?我如何让它一直旋转?
这里是应用程序的屏幕截图http://monosnap.com/image/TRFK4cXEvYK2VPpteE1j5x0eB.png