gpt4 book ai didi

iPhone - 帮助使用 MBProgressHUD、Sudzc、Web 服务和 NSThread

转载 作者:搜寻专家 更新时间:2023-10-30 19:58:49 26 4
gpt4 key购买 nike

我有以下代码,它连接到一个网络服务并返回一个类别数组。

我正在为 SOAP 网络服务使用以下包装器:

http://www.sudzc.com/

..以及事件指示器的以下 MBProgressHUD:

https://github.com/jdg/MBProgressHUD

我想要一个 HUD 进度指示器,指示它正在连接和抓取结果。我目前正在使用 MBProgressHUD 来达到预期的效果,但我注意到它工作不正常。在加载和显示我的 tableView 中的实际单元格之前,进度指示器消失了。我还在我的应用程序的不同区域使用 MBProgressHUD,但通常每次我连接到 Web 服务以获取结果。

有人可以引导我朝着正确的方向前进,了解如何修复以下代码以使其正常工作吗?我认为这可能与显示进度指示器后触发回调方法有关。不太确定如何使用回调方法正确实现 MBProgressHUD

这是我“尝试”让它工作的可怕尝试。

- (void)showHUD {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];

// Add HUD to screen.
[self.navigationController.view addSubview:HUD];

// Register for HUD callbacks so we can remove it from the window at the right time.
HUD.delegate = self;

HUD.labelText = @"Loading";

// Show the HUD while the provided method executes in a new thread
[HUD showWhileExecuting:@selector(runLocalNotificationHandler) onTarget:self withObject:nil animated:YES];
}

- (void)runLocalNotificationHandler {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

[self performSelectorOnMainThread:@selector(connectToService) withObject:nil waitUntilDone:YES];

[pool release];
}

- (void)connectToService {
Service1 *service = [[Service1 alloc] init];
[service GetCategories:self action:@selector(handlerGetCategories:)];
[service release];
}

- (void)handlerGetCategories:(id)value {
// parse objects returned from array, populate array, reload table view data, etc
}

最佳答案

如果您在执行回调的情况下使用 MBProgressHUD,则还有另一种方法。在开始后台进程之前初始化 HUD

MBProgressHUD *HUD = [MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];

代替

HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];

然后将以下内容放入您的回调方法中:

[MBProgressHUD hideHUDForView:self.navigationController.view animated:YES];

这样您就可以准确地知道您的 HUD 何时显示和关闭。至少,它会通过查看使用新方法后发生的变化来帮助您调试真正的问题所在。

关于iPhone - 帮助使用 MBProgressHUD、Sudzc、Web 服务和 NSThread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4861003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com