我想将MBProgressHUD用于......
[HUD showWhileExecuting:@selector(fetchDomainStatus) onTarget:self withObject:nil animated:YES];
但我需要调用一个返回domainStatus(int)的方法(fetchDomainStatus)。
如果没有某些类变量,我怎么能这样做呢?
答案 0 :(得分:1)
如果你可以使用积木(例如,你的应用程序是iOS 4.0+)你可以做这样的事情,并且仍然保留所有线程魔法:
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
// Do the task in the background
int status = [self fetchDomainStatus];
// Hide the HUD in the main tread
dispatch_async(dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUDForView:self.view animated:YES];
});
});
答案 1 :(得分:0)
你想要做的可能是:
[HUD show:YES];
int status = [self fetchDomainStatus];
[HUD hide:YES];
否则,使用“withObject”参数传入指向对象(可能是NSValue对象)的指针,您可以在其中存储返回值。你必须修改fetchDomainStatus以获取NSValue *参数,如果你这样做的话。