gpt4 book ai didi

ios - 使用 ASIHTTPRequest 跟踪进度

转载 作者:行者123 更新时间:2023-11-28 19:24:02 25 4
gpt4 key购买 nike

我正在尝试与网络服务通信并检索数据,同时我尝试使用 UIProgressView 进行进度指示,以便用户知道发生了什么,但是,当我运行时,我看不到UIProgressView 上的进度。这是我的相关代码:

- (void)viewDidLoad {
[super viewDidLoad];
//start request
NSURL *url=[NSURL URLWithString:@"http://iphone01.mtdgroup/admin_V01/stationsProcessing/pickers_management.php"];
ASIFormDataRequest *request=[ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request setUploadProgressDelegate:loadingProgress];
[request startAsynchronous];
NSLog(@"value: %f",[loadingProgress progress]);
}

日志显示:值:0.000000。根据 ASIHTTPRequest 文档,将 UIProgressView 设置为 uploadProgressDelegate 的委托(delegate)就足够了,ASIHTTPRequest 会负责为我更新 UIProgressView。我错过了什么吗?谢谢提前:)

最佳答案

您正在执行异步请求,因此 NSLog 在请求开始后立即执行,此时进度实际上为零 - startAsynchronous 实际上在幕后使用 NSOperationQueue,因此如果您需要编写自己的委托(delegate)代码想要 NSLog 进度:

只需在您的 View Controller 中包含这样的内容:

- (void)setProgress:(float)newProgress {
[loadingProgress setProgress:newProgress];
NSLog(@"value: %f",[loadingProgress progress]);
}

并设置:

[request setUploadProgressDelegate:self];

关于ios - 使用 ASIHTTPRequest 跟踪进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5937991/

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