1

これは私の問題です:

ユーザーが自分の情報を POST 経由で送信できるように、登録UIViewControllerがあります。

ユーザーが「送信」をタップすると、 NSURLSession uploadTaskWithRequest:fromData:completionHandler:メソッドを使用してNSURLSessionUploadTaskをインスタンス化し、ユーザーが戻りたい場合は、「戻る」ボタンをタップして前のUIViewControllerに戻ることができます。

ユーザーが「戻る」ボタンをタップすると、UIAlertViewが表示され、登録をキャンセルするかどうかをユーザーに尋ねます。UIAlertViewが表示されている間、 suspendメソッドを使用してNSURLSessionUploadTaskを中断済みとしてマークします。これにより、ユーザーが元に戻れない場合に登録を再開できるようになります。私の問題はそこにあります: タスクを一時停止としてマークすると、NSURLSessionUploadTaskはそれを無視し、2 つのUIAlertViewsを示す登録を行っているようです: キャンセルを確認するものとサーバーの応答を持っているものです。

お願いします、これで私を助けてくれますか? 私は何か間違ったことをしていますか?たぶん私が無視しているものがあります。一時停止して後で再開することはできません:/

アップロードを行う:

uploadTask = [sesion uploadTaskWithRequest:request
                                  fromData:data
                         completionHandler:^(NSData * data, NSURLResponse * response, NSError * error)
{
    ...
}];

[uploadTask resume];

「戻る」ボタンの実装でのアップロードの一時停止:

if (uploadTask != nil) && (uploadTask == NSURLSessionTaskStateRunning))
{
    [uploadTask suspend];
}
4

0 に答える 0