Xcode で、ファイルをサーバー/API にアップロードするための curl_easy_setopt-functions のスタックをセットアップし、(多くの試行錯誤の後) すべてが魅力的に機能します。他のいくつかの Q&A を行った後、次のような簡単な 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 (例 [_myLabel setStringValue:globalProgressNumber];) から IBOutlets を更新しようとしましたが、静的 int 関数ではそれができません。[self] も許可されていないため、NSNotificationCenter への投稿はできません。
[[NSNotificationCenter defaultCenter]
postNotificationName:@"Progressing"
object:self];
curl 関数は、メイン クラス/ウィンドウ (NSPanel) から実行されます。
.xib でリアルタイム/更新要素を実現する方法について何か良いアドバイスはありますか?