問題タブ [performselector]
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 - NSOperationを並行してキャンセルできるようにサブクラス化する
並行してサブクラス化する方法とNSOperation
キャンセルをサポートする方法についての適切なドキュメントを見つけることができません。Appleのドキュメントを読みましたが、「公式」の例を見つけることができません。
これが私のソースコードです:
私が見つけた例では、performSelectorOnMainThread:が使用されている理由がわかりません。それは私の操作が同時に実行されるのを妨げるでしょう。
また、その行をコメントアウトすると、操作が同時に実行されます。ただし、isCancelled
を呼び出してもフラグは変更されませんcancelAllOperations
。
multithreading - GCD と performSelectorInBackground の比較: dispatch_async がバックグラウンドにない
Grand Central Dispatch は優れており、コードの量を削減しますが、バックグラウンド スレッドで何かを実行できないのはなぜですか?
私が何を意味するかを示すサンプルアプリケーションを作成しました(コメントされた作業はありません):
これ[NSThread sleepForTimeInterval:3];
は、デフォルトの UI 機能をシミュレートするためのものです。たとえば、あるナビゲーション ビューから別のナビゲーション ビューに切り替えている場合などです。
新しいビュー ベースのアプリケーションにコードをコピーし、2 つのボタンを作成して接続するだけです。
objective-c - performSelector の戻り値:
performSelector の戻り値: NSDateComponents (int を返す) の「week」など、(オブジェクトの) プリミティブ型を返すセレクターを渡すと?
iphone - MBProgressHUDとperformselectorの問題-iphone
私はMBProgressHUDに以下のコードを書きました:
そしてloadWorkbenchメソッドで私は次のようなコードを書きました:
[self PerformSelector:@selector(CallPrivateKwikis)withObject:nil afterDelay:0.1];
ただし、ここからCallPrivateKwikisが呼び出されることはありません。問題を見つけることができません。
誰かがこれを手伝ってくれませんか。
前もって感謝します。
iphone - Performselector - 引数 2 は、キャストなしで整数からポインターを作成します
私はこのコードを持っています:
このメソッドに:
これをその場所に置く:
私のメソッドは PasscodeAnimationTypeConfirm と同じ値として分類されない「1」の NSLog を返します。どうすればこれを修正できますか?
ios - Objective-CとSwiftで待つ方法
UILabel
2秒後にテキストを変更したい。
UILabel
のテキストを「Aテキスト」に設定して、使用sleep(2)
して最終的に「別のテキスト」に変更してみました。
ただしsleep(2)
、アプリをフリーズするだけで、「Aテキスト」を2秒間表示せずに「別のテキスト」が設定されます。
「Aテキスト」を2秒間表示してから、「別のテキスト」を表示するにはどうすればよいですか?
iphone - 次の実行ループ反復でできるだけ早くメソッドを呼び出す方法は?
「iOS、私はこのメソッドをできるだけ早く実行したいのですが、この実行ループの繰り返しでは実行しないでください。次の実行ループでは実行しないでください。ありがとうございます。」
今、私はいつも次のようにしています:
-doSomeOtherThings
常に BEFORE が実行されることを
前提としています-doSomethingInNextRunLoop
。
ドキュメントには次のように記載されています。
遅延を 0 に指定しても、セレクターがすぐに実行されるとは限りません。セレクターは引き続きスレッドの実行ループでキューに入れられ、できるだけ早く実行されます。
したがって、基本的に、ダイレクトメッセージを送信したかのようにメソッドがすぐに呼び出され、-doSomethingInNextRunLoop
前に実行される可能性があり-doSomeOtherThings
ますか?
できるだけ早く呼び出されるようにするにはどうすればよいですか?しかし、この同じ実行ループの反復では決して呼び出されませんか?
言葉遣いを明確にするために: 実行ループとは、メイン スレッドと、スレッドが新しいイベントの準備が整うまですべてのメソッドが戻る必要がある反復を意味します。
objective-c - 目的のcでselectoronmainthreadを実行する最良の方法は?
私はiPhoneにクライアントサーバーアプリを書いています。そして、スレッドについて質問があります。デバイスからオンライン データベースにアクセスするときは、UI/メイン スレッドがフリーズしないように別のスレッドでこれを行う必要があります。しかし、データベースから取得したデータに応答するときは、メイン スレッドでこのメソッドを呼び出します: performSelectorOnMainThread。問題は、これにより、メソッド (WithObject) に 1 つの引数/オブジェクトしか送信できず、渡したい引数がさらにある場合があるということです。それについてのもう 1 つのことは、この 1 つのオブジェクトを渡さなければならないということです。アプリがクラッシュした場合、nil を渡すことはできません。
これは今日の私のコードです..そして、メソッドを使用して間違った方法でスレッド化しているのではないかと心配しています。
これはこれを行う良い方法ですか? performSelectorOnMainThread 以外に、私に指摘できるものはありますか?
ご覧のとおり、この例では NSString 引数に nil を渡しています。何かを渡す必要があるためです。メソッドの引数として NSString がない場合、nil を渡すとアプリが evan をクラッシュさせます。これはなぜですか? . これをもう少しわかりやすくしてください!
//ありがとう!
objective-c - NSOperation サブクラスの performSelector
ネット上のどこにも答えが見つからなかったので、助けていただければ幸いです。
私は、NSInvocation などの具体的なサブクラスでは実行できないことを理解している NSOperation タスクの結果を取得できるシステムを作成しようとしています。
私は NSOperation サブクラス ( TheEngine-main
) を持っています。これは慣例により抽象的であり、実行するコードの本体を含めるためにfunction を実装するために拡張する必要があります。
TheEngineには次の初期化関数が含まれており、そのジョブは単純に注意する必要がtheSelector
ありtheObject
、セレクターが属しています。プロパティの KV オブザーバーも登録しますisFinished
。
私のobserveValueForKeyPath:ofObject:change:context:
関数では、次のようにコールバック関数を呼び出したいと思います:
全体のプロセスは次のようになります。
aViewControllerはTheEngineの拡張機能を 起動します -以下を呼び出して操作キューに追加することでTheTaskとしましょう。
エラーや例外が発生することなく、すべてが期待どおりに実行されているようです。しかし、実行がコールバックに達したとき、observeValueForKeyPath:ofObject:change:context:
実際にはコールバックは呼び出されません。私は Obj-C を初めて使用するので、このタイプのスレッド化に関する私の理解が正しいかどうかは完全にはわかりません。
コード全体は次のとおりです。
どんな助けでも大歓迎です!