我有一个 tableView 和一个从 URL 获取数据并重新加载表的“重新加载”按钮,这是一个昂贵的操作(特别是 fetch 部分)。
我想在发生这种情况时向用户显示信息,所以我想我会在顶部放置一个“正在加载”的 UITextView,执行获取/重新加载操作,然后删除 UITextView。
这是代码:
- (IBAction)refreshData:(id)sender {
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height-30, self.view.frame.size.width, 30)];
[self.view addSubview:textView];
textView.text = @"Loading..";
textView.textColor = [UIColor whiteColor];
textView.backgroundColor = [UIColor grayColor];
textView.editable = NO;
[self fetchData];
[self.tableView reloadData];
[textView removeFromSuperview];
}
我得到的行为是 fetchData 在 UITextView 在屏幕上呈现之前执行。我知道这一点是因为我在 fetchData 中有 NSLogs,它在 UITextView 显示在屏幕上之前执行。
我在这里有什么明显的遗漏吗?谢谢。