問題タブ [cfrunloop]
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.
objective-c - CFRunLoopRun() が必要だが、ブロックを解除したい
OSX用のココアアプリケーションに次のコードがあります。
このコードは、ファイル システムの変更について通知され、それに応じて反応します (コールバック関数はスニペットにありません)。
私の問題は、 CFRunLoopRun() がブロックされていることです。つまり、コードのそれ以上の実行は停止します。ただし、ファイルシステムの変更の監視を開始できる可能性を探していますが、それを停止することもできます (たとえば、別のオブジェクトから)。
私が考えた 1 つのオプションは、ループを 1 秒間だけ開始し、その後グローバル変数をチェックすることです。しかし、私は通常、グローバル変数が好きではありません....
これを解決する方法を教えてください。オーバーヘッドを購入して、実行を別のスレッドに入れるのは良い考えでしょうか?
前もって感謝します!ノーバート
swift - Swift 2 で UnsafeMutablePointer と CFRunLoopObserverContext を使用する
次のコードがあります
何らかの理由で、ラインz = pGraphsModel.memory
は常に私にEXC_BAD_ACCESS
. UnsafeMutablePointer
保存された値を取得するときに正しく使用しているかどうかはわかりません。どんな考えでも大歓迎です!
PS。これは XCode 7 beta5 で発生しました。
ios - Exception Type: "EXC_CRASH (SIGSEGV)" の非常に興味深いクラッシュ ログ
まず、シンボリック解除されたクラッシュ ログが一番下にあります。プライバシー上の理由から、すべてのコンテンツを投稿することはできません。ただし、最初の 3 つのスレッドのログで十分だと思います。本当に必要な場合は、メッセージを残してください。
そして、この記事に応じて、これが問題ですiOS例外タイプの理解| 。5Neo.Be5Neo.Be、マッハ例外タイプ -- EXC_CRASH -- は通常、C シグナルSIGSEGV (所有していないアドレスにアクセスすることを意味します) に続くものではありません。
では、 EXC_CRASH (SIGSEGV)が表示 される理由や時期を知りたいです。
2 番目の質問は、ログに示されているように、このクラッシュが実際にスレッド 0 によってトリガーされるかどうかです。そして、それが本当なら、何をしますか
"__NSThreadPerformPerform"
と
"__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__"
意味?
システムはどのようなアクションを実行していますか? ちなみに、アプリがこの回答に従って「performSelector:」メソッドを呼び出すと、 __NSThreadPerformPerform が表示されます。
ありがとう。
-- クラッシュログはこちら: --
ios - CFRunLoopSource の CFRunLoopScheduleCallBack 関数の目的は何ですか?
のカスタム入力ソースを定義しようとしていますCFRunLoop
。Apple が作成した Threading Programming Guide ドキュメントを読みましたが、この問題だけが理解できません。
CFRunLoopScheduleCallBack
それで、関数の目的は何ですか、またはこの関数を実装する方法を知りたいですか?
swift - Swift CFRunLoopTimerCreate - タイマー コールバックで「自己」を取得する方法
次のコードを指定して、クラス「自己」インスタンスにアクセスして、クラス インスタンス メソッドを呼び出すにはどうすればよいですか。示されているように、self.callSomeClassIntance() を試すと、コンパイラから「コンテキストをキャプチャするクロージャから AC 関数ポインタを形成できません」というエラーが表示されます。info.callSomeClassInstance() を試してみましたが、「メンバーがありません callSomeClassInstance」というエラーが発生します。コード xxxx.callSomeClassIntance() の 1 行を削除すると、コードは正しく起動します。
swift - Swift で IOPSNotificationCreateRunLoopSource を使用して CFRunLoopSourceRef を作成する
macOS の電源状態の変更をサブスクライブしようとしています。少し複雑ですが、IOKitを使用する方法があることを発見しました。#import <IOKit/ps/IOPowerSources.h>
ObjC Bridging ヘッダーを使用してインポートする必要があります。次に、シグネチャを持つ関数 IOPSNotificationCreateRunLoopSource にアクセスします。
Callback method to Apple run loopの回答から助けを得ましたがIOPowerSourceCallbackType
、Swiftでタイプの関数を作成することはまだできません。このコンパイルに欠けている部分は何ですか?
ios - ネストされた CATransaction の動作?
backgroundColor
以下のコードは、 の直後にを更新しcommit
ます。
しかし、ネストされた explicitCATransactions
を使用すると、最も外側のトランザクションがコミットされた場合にのみ画面が更新されます。
したがって、これは非常に奇妙です。なぜなら、runloop がループごとに最も外側の暗黙的なトランザクションを作成することがわかっているからです。コミットimplicit transaction
時にこれが最も外側のトランザクションと見なされないのはなぜですか?explicit transaction