アクティブなURLSessionTaskがあり、ユーザーが戻るボタンを押して、ビューコントローラーを選択すると、Swift 3 iOSアプリケーションにクラッシュしました。戻るボタンのurlsessiontaskでcancelメソッドを呼び出し、その時点でクラッシュは発生しませんが、ユーザーがView Controllerに戻ると、アプリケーションがクラッシュします。ユーザーがURLセッションタスクの完了を許可した場合、クラッシュは発生しません。クラッシュを防ぐために私が何ができるか誰にでも分かっていますか?私はiOS 10、Swift 3、Xcode 8を使用しています。事前に感謝します。uiviewcontrollerが登録されていて、アクティブなurlsessiontaskがあるときのクラッシュを防止する方法
0
A
答えて
1
ダウンロードが完了したときに表示コントローラがURLセッションの代理人になっていない可能性があります。
はここに1つのソリューションです:
はURLセッションのデリゲートであるDownloadManager
シングルトンを作成し、ダウンロードが完了すると、ディスクにファイルを保存し、ダウンロードされたファイルに関する情報を記録し、その後、を通知してデリゲート。弱いデリゲートプロパティを使用します。
(シングルトンはすべての悪の根源であり、決して使用されるべきではないと信じている人もいますが、私はその人の一人ではありません。 )
関連する問題
- 1. UIViewControllerが表示されていないときにアニメーションが停止する
- 2. アカウントASPネットコアの登録ユーザーが登録されていない
- 3. ItemListenerが登録されていない
- 4. Akkaのアクタが生きていて、イベントストリームに登録されていることを確認する方法
- 5. 登録されていないサービスを解決する際にシンプルインジェクタが例外をスローするのを防ぐ
- 6. []に登録されているクエリがありません
- 7. デバイスでアプリケーションがクラッシュするが、XCodeがクラッシュを登録しない
- 8. レディススケジューラのアクティブジョブキューに登録されているが実行されていない
- 9. ルートピアノードがクラッシュしたときにネットワーク障害を回復/防止する方法
- 10. ショートカット名にテキストが登録されているショートカットプロパティを編集する方法
- 11. グローバルコンテキストメニューリスナーまたは登録されているすべてのビューのコンテキストメニューを登録する方法
- 12. 認証されていないCognito IDユーザープールの登録を停止する
- 13. イベントハンドラをチェックする方法は登録されています
- 14. まだ登録されていないユーザーの登録ページを許可する
- 15. ZF3にカスタマーサービスとサービスファクトリーが登録されていない
- 16. イベントが防止されているかどうかを確認する方法
- 17. 必要なフィールドがすべて記入されていない場合、どのように登録ページの提出を防止できますか?
- 18. GreenRobot EventBusエラー:イベントに登録されている登録者がいません
- 19. RxJava:オブザーバブルが観測され、正しいスケジューラに登録されていることをユニットテストする方法は?
- 20. Javascriptポインタイベント - Wacomペンの圧力と傾きが登録されていない
- 21. Android GCMエラーです。クライアントが登録されている場合、サーバは登録されていません
- 22. 紹介登録/ダウンロード/ IPアドレスでの訪問を防止する方法は?
- 23. 大きなMyISAMテーブルがクラッシュするのを防ぐ方法
- 24. c2hsが正しくインストールされていない/登録されていない
- 25. 既に登録されているSharePointイベントレシーバーの登録
- 26. テキストフィールドが選択されているときにズームを防止します
- 27. Android GCM一部の端末が登録されていない
- 28. アンケートのウェブサイトで複数の登録を防止する
- 29. WMIがFireを表示できないときにInstrumentationClass(InstrumentationType.Event)として登録されています
- 30. ドロップダウン登録時に更新されない登録フォームと、エラーがある場合(検証の場合)
先頭にコールバッククロージャ '[weak self]'を追加し、selfがnilであるかどうかを尋ねます –