在 Xcode 中设置了一堆 curl_easy_setopt-functions 用于将文件上传到服务器/API,并且(经过大量试验和错误)它就像一个魅力。在经历了其他几个问答之后,我还设法设置了一个简单的 CURLOPT_PROGRESSFUNCTION,如下所示:
static int my_progress_func(void *p,
double t,
double d,
double ultotal,
double ulnow)
{
printf("(%g %%)\n", ulnow*100.0/ultotal);
// globalProgressNumber = ulnow*100.0/ultotal;
return 0;
}
随着上传的进行,“0%.. 16%.. 58%.. 100%”输出到控制台;灿烂。我无法做的是实际使用这些数据(globalProgressNumber),例如。对于我的 NSProgressIndicator;CURL 有点劫持我的应用程序,并且在进度完成之前不允许任何其他输入/输出。
我尝试从 my_progress_func 更新 IBOutlets(例如 [_myLabel setStringValue:globalProgressNumber];),但静态 int 函数不允许这样做。[self] 也不允许,因此无法发布到 NSNotificationCenter:
[[NSNotificationCenter defaultCenter]
postNotificationName:@"Progressing"
object:self];
我的 curl 函数从我的主类/窗口(NSPanel)运行。
关于如何在我的 .xib 上实现实时/更新元素有什么好的建议吗?