問題タブ [runloop]
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.
iphone - ランループが実際にどのように機能するか
今月初めに、「ランループとは何ですか?」という質問をしました。答えを読んでいくつか試してみたところ、うまくいきましたが、まだ完全には理解できていません。ランループがスレッドに関連付けられた単なるループであり、舞台裏で別のスレッドを生成しない場合、スレッド内の他のコード(メインスレッドをシンプルに保つため)を「ブロック」/実行しないで実行するにはどうすればよいですか?どこかで無限ループするから?
それが1番の質問でした。次に、2番目に進みます。
これで作業した後、これについて何か正しいことがわかったが、完全には理解していない場合、ランループは「フラグ」をアタッチするループであり、フラグがあるポイントに来ると「停止」することをランループに通知し、その時点でアタッチされているハンドラーを実行しますか? その後、キューの次へと実行を続けます。

したがって、この場合、イベントは接続の que に配置されませんが、イベントになると、タップ 1 に関連付けられたアクションを実行し、接続に再び実行される前に実行します。それとも、概念を理解することができる限りですか?
iphone - 実行ループを理解する方法の 2 回目の試行
やあ
以前にこの 2 つの質問をしましたが、まだわかりません。
Runloops に関する質問1 Runloops
に関する質問 2
私のiPhoneブックの1つで、実行ループについて次のように言及しています。
「あなたのアプリケーションは、実行ループと呼ばれる 1 つの巨大な無限ループです。実行ループの仕事は、入力 (タッチ、Core Location の更新、ネットワーク インターフェース経由のデータなど) をチェックし、そのイベント (オブジェクトのアクションやデリゲート メソッドなど) に適したハンドラーを見つけることです。」</ p>
では、ループは正確にはどこにあるのでしょうか。メイン アプリケーション スレッドで実行する必要がなく、すべてのスレッドに実行ループ オブジェクトが関連付けられていることはわかっていますが、実際のループ部分はどこにありますか? main-method を非表示で囲んでいるのは while ループですか? ループしていたループがすべてのコードをループしていない場合。私はこれが間違っていることを理解していますが、それは行われていません。
ランループが実行できるさまざまなモードもわかりませんが、ランループを理解していないためかもしれません。
前もって感謝します!
ios - アプリがバックグラウンドになっているときに NSTimer が起動すると予想されますか?
まったくわかりませんがNSTimer、私のアプリでは間違いなくバックグラウンドで実行されています。タイマーによって実行されるNSLogin メソッドがあり、バックグラウンドでログを記録しています。iOS 4.2.1 を搭載した iPhone 4 です。Info.plist でロケーション バックグラウンド サポートを宣言しました。
ここや他の場所でドキュメントと多くの議論を読みましたが、それは不可能です。iOSのバグですか?または文書化されていない機能ですか?私はそれを使用したくなく、近い将来、たとえば iOS 4.3 の登場により、Apple が黙ってそれを「修正」し、アプリが機能しなくなることを知りたくありません。
誰かそれについてもっと知っていますか?
macos - osxとobjc-プラグインの2番目の実行ループを実行していますか?
ここにCプログラマー。実行中のOSXアプリへのプラグインを作成して、独自のウィンドウを開き、ボタンの押下を受け入れ、ウィンドウを閉じてプラグインに戻ります。アプリを終了しないでください。
NSAppを使用してウィンドウを開くことができ、ボタンもありますが、何も実行されません。
私がそれを設定した方法です。通常、[button setTarget:self]ですが、これは通常のc関数内にあり、「self」はありません。それが私が解決する必要がある問題であるならば、私はcからobjcメソッドを呼び出す方法を知りません。ボタンが押されたときにメソッドfauxActionが呼び出されるようにしたいだけです。
これはプラグインのウィンドウであり、メインアプリケーションではありません。ワイヤーを交差させることはできません。[NSApp run]とその上に終了メニューを置くと、メインアプリケーションが終了します。これは、実行ループが実行中のスレッドをラップしているためだと思います。
どんな助けでもいただければ幸いです。ここで溺れているような気がします。
macos - cocoa - 何かを実行し、ウィンドウを開き、入力を取得し、runloop を再入力せずに続行する必要があります
これを行う方法はありますか?
今、私は電話を受け、何かをしていて、ウィンドウを開いて入力を求める必要があり、元の電話から戻る前に作業を終了する必要があります。
ウィンドウの実行ループに入ると、終了しないか、制御が返されません。
ここで何が欠けていますか?
iphone - 実行ループ スタック トレースを使用して iPhone のクラッシュを修正する
iPhone アプリのエラーを追跡するために hoptoad を使用しています。
何度も (正確には 14 回) 発生した 1 つのクラッシュには、次のスタック トレースがあります。
https://gist.github.com/2ce8a88c07fc134a3d9c
これを調査する方法さえわかりません。手がかりはありますか?クラッシュはメインの実行ループから直接発生したようですが、原因に関する情報はありません。
cocoa - NSTimer-プレーンバニラを設定します-発火しません
OSX 10.5.8ターゲット、32ビットおよびi386ビルド用のXCode3.1.1でのコンパイル。
NSWindowwloopとNSViewvloopで実行されているモーダル実行ループがあります。モーダルループが最初に開始されます。期待どおりに起動、実行、停止します。これが始まりです:
次に、ユーザーがマウスの左ボタンを押すと、次のようになります。
呼び出しの戻りを確認すると、タイマーオブジェクトが取得され、期待どおりにタイマー呼び出しが行われたことを確認できます。
これで、ドキュメントによると、「cuckCoo」としてグローバルに保存された結果のNSTimerは、現在の実行ループに自動的に追加されるはずです。現在の実行ループは間違いなくモーダルループです。この時点では、他のウィンドウはロックアウトされており、意図したマウスアクションのあるウィンドウのみがメッセージを受信しています。
これが呼び出すメソッド「onTick」は非常に単純で(起動できないため)、vloopNSViewコードにあります。これはすべてが行われている場所です。
次に、モーダルループを停止するとき(これは正常に機能します)、次のようにします。
tickingとtickCounterはどちらもグローバルlongです。
onTick内からNSLogメッセージを取得できません。また、runloopの終了時にNSLogによって報告されるように、tickCounterはゼロのままです。
これはすべてコンパイルされ、正常に実行されます。ダニが出ることはありません。私は完全に途方に暮れています。何かアイデアはありますか?
jquery - jQuery runloop - ループを作成する方法は?
かなり複雑なアニメーションに jQuery runloop を使用しています。runLOOP という名前にもかかわらず、アニメーションをループで実行できません。
これが私が試したものです(簡略化):
loop.reset();ループを再度実行できるように runloop をリセットすることを期待してloop.play();いましたが、初めてアニメーションを完了した後、コンソールが狂ってしまいます。
試して成功した人はいますか?
– ドミニク
編集: 実際のコードを参照してください -> http://jsfiddle.net/v9UPx/ (コンソールの電源を入れます)
iphone - iOS ランループ メカニズムのガイドはありますか?
iPhoneでソケット通信を学んでいるのですが、そのガイドに何か書いてCFRunloopありました(のガイドですCFNetwork、iOSで使えますか?) iOSのrunloopはどこで学べますか?
multithreading - CoreFoundation: バックグラウンド スレッドで通知を受信/処理する
Apple の CoreFoundation フレームワークを使用して、バックグラウンド スレッドで通知を受信して処理できる単純なアプリケーションを作成しています。これが私が達成しようとしていることです:
プログラムを実行すると、
問題は、ソース/オブザーバー/タイマーがないため、バックグラウンド スレッドの実行ループがすぐに終了することです (リターン コード kCFRunLoopRunTimedOut の代わりに kCFRunLoopRunFinished)。CFNotificationCenterAddObserver は、メイン スレッドの実行ループのみに登録されますが、バックグラウンド スレッドの実行ループには登録されません。
他のもののためにメインスレッドが必要ですが、それを使用して実行ループを実行することはできません。これを機能させる方法はありますか?バックグラウンド スレッドの実行ループに CFNotificationCenter を登録することでしょうか。
前もって感謝します!