問題タブ [completionhandler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - JSON は void に変換できません (Openweather マップ API)
Swift を使用して Openweather マップ API を呼び出しており、応答から特定の値を文字列として返す必要があります。
ただし、値を返そうとすると、JSON は文字列に変換できないため、エラーが発生します。
戻り値の型が void であるクロージャーを使用したので、完了ハンドラーを使用する必要があります。しかし、どうすればそれができるかわかりません。
また、完了ハンドラーをパラメーターとして渡す場合、どのように関数を呼び出すことができますか?
swift - セッションが終了する前に NSURLSession が実行された後のコード - Swift
Web サイトにアクセスし、そのサイトから HTML をダウンロードして文字列に変換し、文字列から情報を取得して、それをアプリに使用するアプリがあります。私の問題は、データが実際にロードされる前に、文字列を抽出するコードが実行されることです。そのコードを完了ハンドラーに入れてみましたが、問題が解決しなかったか、間違っていました。これが私のコードです:
urlContent 定数には、Web サイト データが読み込まれる前に値が割り当てられます。それが起こらないようにする方法が必要です。私はプログラミングにかなり慣れていないので、答えを念頭に置いてください。よろしくお願いします。
ios - Swift: 引数の 1 つが completionHandler である関数を呼び出す方法
私はXCodeとSwiftに非常に慣れていません.iOSアプリでは、スタックオーバーフローでいくつかの回答に従って、サーバー上のphpファイルへのPOSTリクエストを実行するメソッドを作成しました:
どこ
問題は、View Controller クラスでその関数を呼び出す方法がわからないことです。私が見た例では、関数にパラメーターがないため、呼び出されたときに単にクロージャーを記述します。これが私が今まで試したことです:
しかし、XCodeには多くのエラーが表示され、「;」を追加するよう提案されています 2 か 3 か所で...この種の関数の呼び出し方法とクロージャの書き方を教えてください。
ios - PushViewController の後にバックエンド完了ハンドラーが完了するとアプリがクラッシュする
私が持っているもの
問題の本質がわかりません。
私は2つのView Controllerを持っています:
1)テーブルビューでイベントを表示するFeedViewController
2) EventViewController、イベントを押すとプッシュされます。
フィードが読み込まれると、すべてのイベントのすべての画像の非同期読み込みが開始されます。次の関数によって各イベントに対して行われます。
EventViewControllerをプッシュする方法は次のとおりです。
問題
問題は、画像がダウンロードされる前にイベントを押してEventViewControllerを押すと(完了ハンドラーがまだ呼び出されている)、アプリがクラッシュすることです。
仮定
私はこれに何日も苦労し、解決策を見つけることができませんでしたが、私の仮定は、完了ハンドラーが後に呼び出されたということです
EventViewController がプッシュされた後に次の行を実行しようとすると、クラッシュが発生します。
新しいView Controllerが押されたときに、完了ハンドラで使用されるイベントオブジェクトが割り当て解除されていると仮定します
ios - 完了ハンドラの「EXE_BAD_ACCESS」
「EXE_BAD_ACCESS」が表示されますが、どこで間違いを犯したのかわかりません。コードを見て、間違いを教えてください。
矢印は、エラーが発生している場所を示しています。
swift - 非同期リクエストによる再帰関数
非同期リクエストを使用した再帰関数があります。リクエストが成功した場合に配列に保存したいのですが、方法がわかりません。具体的には、ファイルをアップロードする機能であり、この機能がフォルダーを取得する場合、このフォルダー内のファイルもアップロードする必要があります。
私はこれについての何か、completionHandlerでこれを実装することを考えました:
しかし、問題は、println get 呼び出しが 1 回だけでなく、uploadFileRec と同じ回数呼び出されることです。したがって、println の代わりに別の関数を呼び出すと、その関数も何度も呼び出されます。したがって、completionHandler の考え方は間違っていたと思います。他にどうすればこれを実現できますか?
swift2 - 完了ハンドラーの提供: 式のタイプは、swift 2 に更新した後、コンテキストがないとあいまいです
SODA Client for swift (作成者 Socrata) を使用しています。XCode 7 と Swift 2 に更新したところ、いくつかの問題が見つかりました。私が解決できなかったのは、エラーが見つかったときの完了ハンドラーのケースです。エラーを取得してメインスレッドに戻るはずの行「syncCompletion(.Error (reqError))」を受け入れていません。
ここで同じ説明の「式のタイプがあいまいであり、コンテキストがありません」というエラーが多数見られましたが、完了ハンドラーではなく、do - catch を使用しているものを見ましたが、これは異なります。これを変更する方法を見つけるのに十分な速さを知りません。
Swift 2で一部の型が変更される可能性があるため、コードを書き直す必要があると考える回答もありますが、どこから書き直すべきかわかりません。
よろしくお願いします。