[解決済み] Objective-Cです。複数の引数を持つセレクタを呼び出す
2022-05-07 14:49:23
質問
MyClass.m で、以下のように定義しました。
- (void) myTest: (NSString *) withAString{
NSLog(@"hi, %@", withAString);
}
を作成し、MyClass.h で適切な宣言を行います。後で
[self performSelector:@selector(mytest:withAString:) withObject: mystring];
のようなエラーが表示されます。 * キャッチできない例外 'NSInvalidArgumentException' のためにアプリを終了する、理由: '*'. -[MyClass myTest:withAtring:]: unrecognized selector sent to instance 0xe421f0' です。
もっと単純に、引数を取らないセレクタで、コンソールに文字列を出力するケースを試してみましたが、これはうまくいきました。このコードのどこが問題で、どのように修正すればいいのでしょうか?ありがとうございます。
解決方法は?
メソッドシグネチャは
- (void) myTest:(NSString *)
withAStringがたまたまパラメータになっています(名前は誤解を招くので、セレクタのシグネチャの一部であるように見えます)。
このように関数を呼び出すと
[self performSelector:@selector(myTest:) withObject:myString];
動作するようになります。
しかし、他の投稿者が提案しているように、メソッド名を変更した方がいいかもしれません。
- (void)myTestWithAString:(NSString*)aString;
と呼び出す。
[self performSelector:@selector(myTestWithAString:) withObject:myString];
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
[解決済み] Objective-Cは構造体の使用を禁じていますか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] objective-c/cocoaで例外を投げる
-
[解決済み】iOS7でステータスバーを隠すことができない。
-
[解決済み】idの代わりにinstancetypeを使い始めるのは有益でしょうか?
-
[解決済み】Objective-Cでオブジェクトがどのクラスであるかをテストするにはどうすればよいですか?
-
[解決済み] [Solved] UITableViewがReloadDataを完了したことを伝えるには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】何が原因か。switch文からこのcaseラベルにジャンプできない [重複]。
-
[解決済み] UILabelのフォントサイズ?
-
[解決済み] Objective-Cは構造体の使用を禁じていますか?
-
[解決済み] Objective-Cで、オブジェクトの種類をテストするにはどうしたらいいですか?
-
[解決済み] Objective-Cで抽象クラスを作成する
-
[解決済み】浮動小数点値の比較はどのくらい危険か?
-
[解決済み】NSArrayをアルファベット順に並べるには?
-
[解決済み】Cocoaでスタックトレースをコンソール/ログに出力するにはどうすればいいですか?
-
[解決済み】ブロック宣言の構文リスト
-
[解決済み】iOS7でステータスバーを隠すことができない。