問題タブ [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.

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

objective-c - why warning with my performSelector

Below is a simple PerformSelector that sends a message to obj to perform the looping method. All works well but I get the following yellow warning.

PerformSelector may cause a leak because its selector is unknown.

This warning does not make sense because the performSelector must be aware of mySel because the looping method does get called - any ideas whats going on ??


Update

MyClass.h

MyClass.m

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

iphone - cancelPreviousPerformRequestsWithTarget

cancelPreviousPerformRequestsWithTarget is not working for me, i checked every one saying its working fine but for me not

i call the following in performselector

起動する前にボタンのクリックでキャンセルしたいので、次のようにしました

それでも同じ結果

どんな助けでも大歓迎です

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

ios - PerformSelectorInBackgroundの使用中にメモリリークが発生しました

私はiOS開発に不慣れです。バックグラウンドスレッドの実行中に問題が発生しました。私のコードでは、resetUiはメインUIスレッドで実行されていますが、画像データをフェッチして画像を更新するためにバックグラウンドスレッドを開始しています。すべて正常に動作しますが、performSelectorInBackgroundを呼び出すと、メモリがリークします。

どこが間違っているのか教えてください。また、URL(dataWithContentsOfURL)から取得しているときに画像を更新するためのより良い方法があるかどうかを提案してください。

[アップデート]

Instrumentは、perfromSelectorInBackgroundとUIImageimageWithDataで2つの別々のリークを表示しています。imageupdate(imageWithData)で何かがひどく間違っていると思います

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

ios - 正しくマルチスレッドする方法は? UIAlertView が表示されず、灰色の画面のみ

プロジェクトに textToSpeech を実装しましたが、テキストが読み上げられている間にアラートビューを表示したいと考えています。ここで、textToSpeech のメソッドを呼び出しています。

ここで、 synthesizeInBackground メソッド ( in メソッド synthesize は TTS を開始します):

TTS の間、ボタン付きの alertView を表示したいと考えていcancelます。しかし、私の場合、alertView がないと灰色の画面しか表示されません。

alertWhileTTS を正しく呼び出すにはどうすればよいですか?

alertWhileTTS の内容は次のとおりです。

UPDATEは、私のソリューションを参照してください。

0 投票する
3 に答える
157 参照

iphone - パフォームセレクターを使用してランダムな方法を選択するには?

私のアプリケーションでは、performSelectorメソッドを呼び出すために使用します。私のアプリケーションには 3 つの異なるメソッドがあります。これら 3 つのメソッドのいずれかをランダムに割り当てて、セレクターを実行したいと考えています。これが私のコードです。

これが私の3つの方法です..

今度は、毎回 1 つのメソッドをランダムにセレクターに割り当てたいと思います。これを行う方法を教えてください。

0 投票する
4 に答える
290 参照

iphone - withObject:selfとwithObject:nilの使用の違い

私は次のコード行について疑問に思っていました

  1. 上記の2行のコードの違いは何ですか。
  2. nilオブジェクトをいつ設定する必要があり、いつオブジェクトを設定する必要がありますselfか?

ほとんどの場合、オブジェクトがとして設定されていることに気づきましたnil

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

iphone - self PerformSelector:@selector(loadData)withObject:nil-機能していません

私は次を使用します:selfperformSelector:@selector(loadData)withObject:nil ...「loadData」でのみ一部のコマンドを操作しているように見えますが、残りはそうではありません。

これが私のviewdidloadです:

そしてここにloadDataがあります:

2行しか出力されませんが、データはテーブルに読み込まれませんでしたが、すべてのコードを「loadData」内から「viewDidLoad」にコピーすると、データがテーブルに読み込まれます。

アドバイスや助けをお願いします。

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

ios - iOS開発のブール値にperformSelectorはありますか

私は CoreLocation を使用しており、有効な値が割り当てられた後、またはこれらの値が更新された後に、緯度と経度の計算を行うメソッドを呼び出したいと考えています。

これをどのように実装しますか?私は performSelector の使用を検討していましたが、これらのメソッドには時間遅延がかかります。時間遅延は必要ありません。最初に緯度と経度に有効な値があることを知りたいです。

0 投票する
4 に答える
263 参照

iphone - スレッド同期を確実にする方法

myButtonActionメインスレッドで「タスクの進行状況」を示すビューをロードしているときに、バックグラウンドスレッドで実行する必要がある重い計算を実行するメソッドがあります。バックグラウンド スレッドがメソッドの実行を完了するとすぐに、「タスクの進行状況」ビューを削除し、メイン スレッドに別のビューをロードする必要があります。

私が直面している問題は、実行が完了する前にmyButtonAction、実行がLoadView完了することです。実行が完了したLoadView後にのみ実行を開始するようにするにはどうすればよいですか。myButtonAction

注:myButtonAction別のクラスにメソッド定義があります。

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

objective-c - performSelector:withObject: とその保持動作

これは SO 内で既に回答されている質問ですが、Apple のドキュメントのどこにも見つかりません。正しい方向に私を向けることができますか?

以下のトピック内

オブジェクトを -performSelector:withObject:afterDelay: に渡す前に保持する必要がありますか?

performSelector:withObject:afterDelay:inModes の保持カウントへの影響

performSelector:withObject:afterDelay を呼び出すオブジェクトは NSRunLoop によって保持されますか?

デフォルトの動作は次のようです。レシーバーと引数を保持します

次のコードを使用しています

userData自動解放されたオブジェクトです。

保持カウントをログに記録します (それを行うのは有効ではない可能性があることはわかっています) 渡されたデータは、その保持カウントをインクリメントします。メソッドがデリゲートで呼び出されると、保持カウントは 1 に等しくありません。

それで、私の質問は次のとおりです。リークを避けるためにメモリ管理を実行する必要がありますか、それとも Apple のものを信頼する必要がありますか? ここでは、適切なドキュメントが見つからないため、不可知論者として話しています。

前もって感謝します。