問題タブ [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.

0 投票する
2 に答える
251 参照

objective-c - Swift のプロパティの完了ハンドラー

MZFormSheetController というコントロールを迅速に使用しようとしています。与えられた例では、正しく理解すれば完了ハンドラーとしてプロパティを提供しますが、Swift で翻訳するのが困難です。どんな助けでも大歓迎です。

これは obj-c の例にあります。

私は多くのバリエーションを試し、ウェブで広範な検索を行いましたが、私を助けることができるものを見つけることができなかったので、ここで立ち往生しています

関連するドキュメントは次のとおりです: Cocoa Docs:: MZFormSheetPresentationController:: didPresentContentViewControllerHandler

0 投票する
1 に答える
83 参照

ios - 迅速なクロージャの以下の構文の違いは何ですか

これがクロージャー付きの私の関数宣言です

このように以下の関数を呼び出すと、「false」である正しい結果が出力されず、代わりに「(0要素)」が出力されます

しかし、以下のようなコードを書くと、問題なく動作します。

// また

私は Swift プログラミング言語の初心者で、最近 Swift 言語を試していますが、構文とクロージャの使用に完全に困惑しています。これらの構文の両方の違いは何か、2 番目の構文では正常に機能するが、最初の構文では正常に機能しない理由を説明してください。

前もって感謝します。ハッピーコーディング。

0 投票する
2 に答える
550 参照

ios - nsurlsessiondatatask は、POST 要求を REST ベースの URL ios に送信しているときに nil を返します

コードを実行すると、デバッガーは NSURLSessionDataTask からジャンプし、生成されるログは __NSCFLocalDataTask: 0x7ff061751960>{ taskIdentifier: 1 } {suspended} であり、NSData および NSResponse にデータはありません。

0 投票する
2 に答える
1143 参照

ios - Swift で NSURLSession に完了ハンドラを追加する

User クラス内に次の関数があります。

問題は...

ログイン UIButton の IBAction がトリガーされると、LoginViewController でこの attemptsLogin() 関数が呼び出されます。この IBAction 関数内で試行ログイン() が呼び出された後、それに続くステートメントは、ユーザーの loginSuccessful 変数が true に設定されているかどうかを確認します。true の場合、別のビュー コントローラーにセグエする (ユーザーをログインさせる) ことを意味します。false の場合、エラー メッセージが表示されます。

しかしもちろん、loginSuccessful が true に設定されているかどうかを確認しているとき (attemptLogin() を呼び出した後) に、NSURLSession がまだその時点に達していないため、これは機能しません。NSURLSession に「クロージャー」または「完了ハンドラー」を追加する必要があるように感じますが、StackOverflow で例を精査した後でも、その方法が本当にわかりません。私は iOS プログラミングと非同期/同期メソッドの超初心者なので、判断しないでください。

既存の attemptsLogin() 関数を変更して、NSURLSession が完了したときに何かをトリガーできるようにするにはどうすればよいですか (ビュー コントローラーの別の画面に移動したり、エラーが発生した場合にユーザーにアラートを表示したりできます)。

これは私の LoginViewController のコードです:

0 投票する
1 に答える
140 参照

swift - reverseGeocode - completionHandler を処理していますか? (迅速)

これを達成するための最良の方法は何ですか?特定の経度/緯度のreverseGeocodeを取得する機能があり、正常に機能します。しかし、アドレス情報を取得するまでは非同期であるため、アドレスをデータベースにコミットする行を既に実行しています。completionHandler を completionHandle する必要がありますか、それとも他の方法がありますか。do/while ループ (笑わないでください) を試しましたが、うまくいきませんでした。

0 投票する
4 に答える
1721 参照

ios - メソッドは完了ハンドラの前に戻ります

プロジェクト用に networkUtil を開発しています。URL を取得し、NSURLSessionDataTask を使用してその URL から受け取った JSON を返し、サーバーから JSON を取得するメソッドが必要です。メソッドは次のとおりです。

問題は、メソッド内のcompletionHandlerとメソッド自体が異なるスレッドで実行され、最後の行で jsonResponse が常にnilであることです。

urlStringから返された json でjsonResponseを設定するにはどうすればよいですか? この問題のベスト プラクティス は何ですか?

0 投票する
2 に答える
531 参照

ios - Swift の .Success 列挙型で非オプションを返す

質問:

渡される列挙型が型である場合に、オプションではない型が渡されるように強制する方法で関数を定義するにはどうすればよい.Successですか? これができない場合、これをモデル化する最善の方法は何ですか?

環境:

API の周りに完了ハンドラー ベースのラッパーを作成しています。ハンドラーに戻されるパラメーターにはenum、応答ステータスとUserインスタンスを提供する が含まれます。は次のenumようなものです。

メソッドのシグネチャは次のようになります。

これに関する問題は、それがユーザーに.Success返される可能性があることですが、これは発生するはずがありません。nil

.Successが渡された場合、ユーザーは になれないことを強制できるようにしたいnil。これはできますか?そうでない場合、それを管理する最善の方法は何ですか?

助けてくれてありがとう。


@AlexsanderAkers と @neilkimmett の両方からの素晴らしい回答。それらを区別する唯一のことは、アレックスがニールのほんの少し前に答えたことです. 両方ありがとう!