問題タブ [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 に答える
1255 参照

ios - 目的 c の遅延または完了を伴うループ

PDFファイル、ページに保存する情報を生成するために、保存されたデータをループしてロードする必要があるアプリがあります。ループを作成しましたが、いわば実行速度が速すぎます。保存されたページは十分に速くロードできないため、結果のデータは不完全です。遅延または完了ハンドラーを使用して for ループを作成する必要があると思います。何かのようなもの:

その疑似コードの書き方さえわかりませんが、基本的には、データをロードするタスクのために完了ハンドラーが起動した後に次の反復にジャンプしたいだけです。

注: ソース データはコア データから取得され、PDF ファイルとして保存されます。データは、ページのページとビューです。各ページには、1 つまたは無制限のビューを含めることができます。各ビューには、画像などのデータも含まれる場合があります。現在何が起こっているかというと、書き込まれたページ数は正しいですが、PDF が書き込まれる前にページが読み込まれないため、すべて同じデータを読み取るため、PDF にレンダリングされたページのビューは同一です。

0 投票する
5 に答える
3828 参照

ios7 - iOS7 GM で完了ハンドラが呼び出されない

AVAssetWriter を使用していますが、iOS6 で完全に動作しています。

問題は、私が呼び出したときにfinishWritingWithCompletionHandler、iOS7 GM で完了ハンドラーが呼び出されないことです。

を呼び出しましたがmarkAsFinishedendSessionAtSourceTimefinishWritingWithCompletionHandler を呼び出す前に.

iOS6では問題なく動作します。

さらに、iOS7 では、動作することもあれば、再び動作しないこともあります。

理由はわかりませんが、アラートビューを使用してメソッドを呼び出すと機能します。だから私は試しperformSelectorOnMainThreadてみinBackgroundましたが、役に立ちませんでした。

何か案は?

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

ios - AutoRenewable In-Appurchase で完了ハンドラがクラッシュする

私は Inappurchase 製品を自動再生可能にする必要があるアプリケーションを作成しています。このために、Apple の文書を読んだ後、自動再生可能な製品のすべてのトランザクションの後、私たちのアプリは購入ごとにトランザクションの領収書を受け取り、必要ですトランザクション領収書アプリがそのトランザクション日付を保存する必要があることを確認した後、Apple サーバーからの領収書を確認します。しかし、製品を購入した後、Apple クラス - 検証コントローラーを介して Apple サーバーからトランザクションの領収書を確認しようとすると、アプリが完了ハンドラーでクラッシュし、完了ハンドラー NIL が表示されます。

私の _completionHandlers は、実行がこれらのメソッドのいずれかに達すると解放されます。この問題を解決するために私を導いてください

0 投票する
0 に答える
1355 参照

ios - iOS 7 完了ハンドラが呼び出されない

次のコードでは、完了ハンドラは実行されません。私が見つけることができた 1 つの説明は、UIManagedDocument を使用した Xcode 4.5 を使用した iPhone Simulator 5.1 のこの Bug です。iPhone シミュレーター 5.1 のバグである可能性があると書かれています。ただし、iPhone シミュレーター 6.0、6.1、および 7.0 を試しましたが、どれも機能しませんでした。よろしくお願いします。

(ちなみに、このコードはスタンフォード iOS コースの講義 14 で見たことがあります)

編集:まったく同じ問題を扱っていると思われる質問を見つけました。nsmanageobjectcontextを取得できません 実行されていない完了ハンドラにピン留めしました。

編集: 問題が何であるかがわかりました。実行ループを使用すると、問題が解決しました。以下の例。

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

ios7 - UIActivityViewController completionHandler アクティビティが送信されたかどうかを確認する方法は?

エアドロップ経由で 1 つの文字列を送信したいのですが、他のデバイスで文字列が正常に受信されたときに 1 つの関数を呼び出したいと考えています。UIActivityViewController を介して実装し、completedHandler を介してチェックします。

ここに私のシナリオがあります: デバイス A -> デバイス B に文字列を送信 デバイス B の受信に 2 つのオプションがある場合 -> 承認または拒否 デバイス B がそのメッセージを受信または拒否するときに、デバイス A で 1 つの関数を呼び出したいとします。

以下は私の実装です:

ただし、上記の関数は、文字列が他のデバイスによって「送信」または「拒否」されたかどうかにかかわらず、常に 0 を返します。

デバイスAで確認できますか?「送信済み」より受信した場合、「拒否済み」より拒否した場合、デバイス A のアクティビティを確認できるためです。

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

objective-c - 対象のタスクが完了したときに、完了ハンドラーがブロックを実行するのは何ですか?

私は完了ハンドラがどのように機能するかを尋ね、理解しようとしています。私はかなりの数を使用し、多くのチュートリアルを読みました。ここで使用するものを投稿しますが、他の人のコードを参考にせずに自分で作成できるようにしたいと考えています。

この呼び出し元メソッドのこの完了ハンドラーを理解しています:

次に、呼び出されたメソッドで:

それから、私は多くのSO投稿に基づいてこれを思いつきました:

このメソッドを呼び出した後、受信したデータ ユーザーでテーブルビューをリロードします。

カウンターの例では、呼び出されたメソッド (渡されたブロックを含む) が完了するまでループを終了しないことがわかります。したがって、「完了」部分は、実際には、渡されたブロックではなく、呼び出されたメソッド内のコードに依存しますか?

この場合、「完了」部分は、NSURLRequest への呼び出しが同期的であるという事実に依存します。非同期だったら?NSURLResponse によってデータが入力されるまで、ブロックの呼び出しを延期するにはどうすればよいでしょうか?