我正在制作一个同步功能,将本地核心数据与服务器同步。我想让同步在后台发生,而不会中断用户交互。当我收到响应(无论是成功还是失败)时,应用程序应该在屏幕上的某处显示一条消息,以通知用户结果。
UIAlertController
不是一个好的选择,因为它会阻止用户操作。
目前我正在使用SVProgressHUD
:
__weak StampCollectiblesMainViewController *weakSelf = self;
if ([[AppDelegate sharedAppDelegate] hasInternetConnectionWarnIfNoConnection:YES]) {
[_activityIndicator startAnimating];
[Stamp API_getStampsOnCompletion:^(BOOL success, NSError *error) {
if (error) {
[_activityIndicator stopAnimating];
[SVProgressHUD setDefaultMaskType:SVProgressHUDMaskTypeClear];
[SVProgressHUD setAnimationDuration:0.5];
[SVProgressHUD showErrorWithStatus:@"error syncronize with server"];
}
else {
[_activityIndicator stopAnimating];
[featuredImageView setImageWithURL:[NSURL URLWithString:[Stamp featuredStamp].coverImage] usingActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[yearDropDownList setValues:[Stamp yearsDropDownValues]];
[yearDropDownList selectRow:0 animated:NO];
[weakSelf yearDropDownListSelected];
[SVProgressHUD dismiss];
}
}];
}
我可以进行修改以便用户仍然可以与应用程序交互吗?我只想在不占用太多空间的情况下显示消息。任何帮助深表感谢。谢谢。