[解決済み] メインスレッドでメソッドを呼び出す?
2023-04-17 09:12:46
質問
まず最初に、私はiphone用のコードを書いています。
私は、メインスレッド上でメソッドを呼び出すことができるようにする必要があります。
performSelectorOnMainThread
.
私が使用したくない理由は
performSelectorOnMainThread
を使いたくない理由は、ユニットテストのためにモックを作ろうとしているときに問題を起こすからです。
[self performSelectorOnMainThread:@Selector(doSomething) withObject:nil];
問題は、私のモックが、どのように
doSomething
を呼び出す方法は知っていますが
performSelectorOnMainThread
.
何か解決策はありますか?
どのように解決するのですか?
Objective-C
dispatch_async(dispatch_get_main_queue(), ^{
[self doSomething];
});
スウィフト
DispatchQueue.main.async {
self.doSomething()
}
レガシースイフト
dispatch_async(dispatch_get_main_queue()) {
self.doSomething()
}
関連
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】Android "ビュー階層を作成した元のスレッドだけが、そのビューに触れることができる"
-
[解決済み] 他のスレッドからGUIを更新するにはどうすればよいですか?
-
[解決済み] Javaにおける "implements Runnable "と "extends Thread "の違いについて
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] プロセスとスレッドの違いは何ですか?
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] Objective-CでNSNotificationCenterを通してメッセージを送受信する?
-
[解決済み]SwiftでどのようにGCDメインスレッド上のパラメータを持つメソッドを呼び出すには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
クラッシュエラー libc++abi.dylib: NSException 型のキャッチできない例外で終了_allanGold のブログ - ProgrammerITS401
-
[解決済み] 文字列の長さを取得する
-
[解決済み] UITextFieldのテキスト変更イベント
-
[解決済み] NSOperationとGrand Central Dispatchの比較
-
[解決済み] iphoneアプリのベータテストはどのように行うのですか?
-
[解決済み] インポート vs #インポート - iOS 7
-
[解決済み] iOS 7でステータスバーとナビゲーションバーがビューの境界を越えて表示される
-
[解決済み] UITableView - トップにスクロールする
-
[解決済み] ファイルはユニバーサル(3スライス)ですが、iOSの静的ライブラリのための(n)ARMv7-sスライスエラーが含まれていない、どうにかして回避するには?
-
[解決済み] iPhoneでナビゲーションバーを1ページ目だけ非表示にする