2017-03-19 4 views
0

私のアプリでエラーを防ぐ方法がわかりません。 URLSession.shared.dataTaskを使用してサーバーを呼び出す必要があります。これを実行すると完全に正常に動作します。しかし、viewControllerが長く存在しないため、URLSession.shared.dataTaskが完了する前にスタックからuiviewcontrollerをポップすると、実行時エラーが発生します。これは、jsonの解析とネットワークコールのさまざまな場所で発生します。通常、ネットワークコールが失敗した場合のコールバックまたはエラーの表示。誰もがuiviewcontrollerがネットワークコールコードを検出または検出したときにネットワークコールを停止する方法を知っていますか?uiviewcontrollerが消えてコールバックを呼び出さないようにしました。私はSwift 3でXcode 8とiOS 10を使用しています。ありがとう。URLSession.share.datataskを呼び出す前に、ユーザーがuiviewcontrollerをポップするのを完了することができます

答えて

1

あなたのVCをポップする前に、これらを呼び出す:

[dataTask cancel] 
dataTask = nil // if needed 

(これらがobj-Cであるが、あなたのアイデアを得るため、あなたは、スウィフトoを変換する必要がある場合があります)

をあなたの場合also detect if it is the last VCあなたがしたい場合は、メソッドでこれを行うことができます。

+1

ありがとうございます –

関連する問題