問題タブ [unrecognized-selector]
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 - ライブラリからカテゴリメソッドを呼び出すときの「認識されないセレクタがクラスに送信されました」
問題
この質問は少し長いように思えるかもしれませんが、私はこれに本当に驚いているので、できるだけ多くの情報を提供しようとしています.
私は現在、XML ドキュメントの解析を自動化するライブラリに取り組んでいます。しかし、ライブラリを初めてテストしているときに問題が発生しています。
CSXDocumentLayout
ドキュメントのレイアウトを表すというライブラリ クラスがあります。- (NSError *)readLayoutDocument:(NSString *)fpath
このクラスには、init メソッドから呼び出されるプライベート メソッドが含まれます。
このメソッドは、他の XML ドキュメントのレイアウトを表す XML ドキュメントを読み取ります。CSXXMLParser
テストしたいクラスによって解析されます。
でレイアウト ドキュメントを表すオブジェクトを作成します+[CSXDocumentLayout layoutDocumentLayout]
。このメソッドは、カテゴリで実装されていますCSXDocumentLayout (CSXLayoutObject)
。
以下は私のテストファイルです:
このファイルは、スタティック ライブラリlibceasyxml.aにリンクされた別の実行可能ファイルにコンパイルされます。すべてが警告なしで問題なくコンパイルされます。
しかし、実行すると、認識されないセレクターがクラス例外に送信されます。
+[CSXDocumentLayout(CSXLayoutObject) layoutDocumentLayout]
と の両方を呼び出すことはできますが、クラス メソッド を-[CSXDocumentLayout initWithLayoutDocument:error:]
呼び出すことができないのは非常に気がかりです-[CSXDocumentLayout(Private) readLayoutDocument:]
。
リサーチ
実行して出力ファイルでメソッドが定義されているかどうかを確認しましたnm file
が、部分的には次のとおりです。
libceasyxml.a では、それが定義されています(nm libceasyxml.a)
TestAppでは定義されていません(nm TestApp)、実際にはカテゴリ名のメソッドが見つかりませんCSXLayoutObject
。
objective-c - 静的iOSライブラリのカテゴリメソッドを呼び出す認識されないセレクター
Xcode 4.3.2を使用してiPadアプリケーションを作成するために、サードパーティのソフトウェアを使用しています。ソフトウェアはオープンソースであり、通常、開発者がアプリケーション用に作成したコードと一緒にコードがコンパイルされるように設定されています。私はこのソフトウェアをさまざまな場所で使用していたため、iOSシミュレーターの静的ライブラリとして構築することにしました。
元のソースコードをコンパイルする代わりに、ライブラリをビルドし、1つのアプリケーションをそのライブラリにリンクするように変換することができました。ただし、シミュレーターでアプリケーションを実行しようとすると、認識されないセレクターがインスタンスに送信されたというエラーが表示されます。
プログラムが静的ライブラリの一部を正常に使用していることを確認しました。ただし、オブジェクトのメソッドを呼び出そうとするコードと、障害が発生したコードが1つあります。呼び出されるメソッドは、実際にはそのオブジェクトのインターフェイスで定義されていません。むしろ、そのオブジェクトのクラスのカテゴリを定義する追加のモジュールで提供されます。そのモジュールのヘッダーファイルは適切にインクルードされており、コンパイラはカテゴリメソッドを見つけてオブジェクトに適用できるはずですが、実行時に上記のエラーが発生します。
'nm'コマンドを使用して、categoryメソッドが静的ライブラリに存在することを確認しました。出力の例を次に示します。
このライブラリを目的のアプリケーションで正しく動作させる方法について、人々はどのような考えを持っていますか?
iphone - 1人のユーザーのみが起動時にアプリがクラッシュする
ユーザーのiPhone3GSで起動した直後に、アプリがクラッシュする理由を理解しようとしています。この問題を抱えているのは彼だけだと思います。他の誰もがそれを使用することができます。彼のiPhoneはジェイルブレイクされています。私のアプリはAppStoreからのものです。私もSafeModeを使用しています:変更なし。
彼は私にクラッシュログとSyslogを送ってくれました:
Syslog:
クラッシュする継ぎ目:
しかし、私には理由がわかりません。誰か助けてもらえますか?
iphone - UIImageWriteToSavedPhotosAlbum を使用して画像を保存するときの認識されないセレクタ エラー
UILongPressGestureRecognizer がアクション handleLongPressOnPhotos で imageView に追加されます。最も関連するコードは次のとおりです。
アクション シートの [写真を保存] ボタンをクリックすると、次のようなエラー メッセージが表示されます 。前もって感謝します!
objective-c - NSMutableArrayプロパティにオブジェクトを追加すると、認識されないセレクターでクラッシュしますか?
NSMutableArrayにAddObjectを追加しようとすると、ここで "-[__ NSArrayI addObject:]:認識されないセレクターがインスタンス0x10dd15ee0"に送信されます。理由はわかりません。
ネストされたカスタムクラスのセットがあります。WTEventには、WTMatオブジェクトで構成されるmatsと呼ばれるNSMutableArrayプロパティがあります。matsには、boutsと呼ばれるWTBoutオブジェクトのNSMutableArrayがあります。
残りの試合をそのままにして、試合の1つの試合を更新できるようにしたいと思います。ここでは、試合を割り当てる必要があるマットを見つけます。初期化されていない場合は、初期化します。次に、空の場合、newBoutを追加しようとすると、クラッシュします。
このようにNSMutableArrayの要素を変更することはできませんか?
WTMat.h:
ログ:
iphone - UIDeviceRGBColor getRed:green:blue:alpha-メモリ管理が原因ではなく、認識されないセレクター
を使って問題を解決しCGColorGetComponents
ましたが、その理由を正確に理解したいと思います。
私は次のインスタンスで次のことを行っていましたUIColor *firstColour
:
これは、シミュレーターでは完全に正常に機能していました。次に、デバイスでテストしたところ、次のエラーが発生しました。
UIDeviceRGBColor getRed:green:blue:alpha認識されないセレクターがインスタンスに送信されました
インターネットで調べたところ、UIColor
実際にはのようなサブクラスに置き換えられていることがわかりましたUIDeviceRGBColor
。結構ですが、サブクラスは同じように機能UIColor
し、(少なくとも)同じメソッドを受け入れるべきではありませんか?
ゾンビを有効にしましたが、ほとんどの人がフォーラムで言うように、これはメモリ管理の問題ではなかったようです。また、ドキュメントが見つからないため、UIDeviceRGBColor
どのように動作するのかわかりません。誰かがなぜそれが起こったのか、そして何よりも、これが別の方法で再び起こる可能性があるかどうかを知っていますか?
ありがとうございました。
ios - つぶやきで NSDictionary を作成するときの「認識されないセレクターがインスタンスに送信されました」
次のコードを含むツイートを Twitter で検索しています。
tweets 変数は NSArray であり、次のコードで NSDictionary に入れようとしています:
ツイートのJSONテキストを確実に取得していますが、それらをディクショナリに追加しようとすると、最終的にそれらをテーブルに配置できるようになり、「認識されないセレクターがインスタンスに送信されました」というエラーが発生します。
なぜこれを取得しているのかわかりません。助けていただければ幸いです。
objective-c - [__NSCFType searchKeyword:]: 認識されないセレクターがインスタンス 0x6d8eb80 に送信されました
次のコードは、ストーリーボードから現在のビューにサブビューを追加することです:
ビュー「view1」には、textField があります。以下は textField に対する IBAction で、イベントは「終了時に終了しました」です。
以下はエラーメッセージです。
2012-05-26 20:26:47.369 OnlineBooking[6607:f803] -[__NSCFType searchKeyword:]: 認識されないセレクターがインスタンス 0x6d8eb80 に送信されました
2012-05-26 20:26:47.369 OnlineBooking[6607:f803] * WebKit が webView:shouldInsertText:replacingDOMRange:givenAction でキャッチされていない例外を破棄しました: delegate: -[__NSCFType searchKeyword:]: 認識されないセレクターがインスタンス 0x6d8eb80 に送信されました
core-data - [__NSCFSet エンティティ]: 対多関係に新しい nsmanegedobject を挿入するときに認識されないセレクター
雑用オブジェクトの新しいインスタンスを Account インスタンスに追加しています。どちらも NSManagedObjects であり、Account から Chore への関係は「1 対多」の関係です。
アカウント インスタンスは、雑用と同じ関係 (1 対多) の規則に従う他のオブジェクトをそれに挿入できるため、実行時に有効です。また、デバッガーではアカウント オブジェクトと newChore の両方が持つように、雑用も有効です。有効なメモリ アドレス。0x6d85cb0 は、このエラー レポートの時点での newChore およびアカウントのアドレスと同じではないため、指定されたアドレスのエラーにのみ問題があります。newChore は 0x06b74a70、アカウントは 0x06d49700 なので、0x6d85cb0 が何を指しているのかわかりません。
これは「[account addChoresObject:newChore];」というコード行です。次のエラーが生成されます。
これはコードの行です [account addChoresObject:newChore]; 次のエラーが発生します。2012-05-31 10:19:05.440 割り当て [61436:fb03] -[__NSCFSet エンティティ]: 認識されないセレクターがインスタンス 0x6d85cb0 に送信されました例外 'NSInvalidArgumentException'、理由: '-[__NSCFSet エンティティ]: 認識されないセレクターがインスタンス 0x6d85cb0 に送信されました'
これは、エラーが生成されるメソッドのコードです。
これは、xcode によって生成されたアカウント クラスのインターフェイスです。
雑用クラスは次のとおりです。
私には、セレクターが間違ったアドレスに送信されているように見えます。Clean を使用して、潜在的な不良ビルド ファイルを削除しようとしました。生成されたファイルがクラスの名前で呼び出されるのではなく、アプリの名前で呼び出され、一部のソース ファイルで xcode がクラッシュする問題があったため、これまでファイルを正しく生成するのに苦労していました。 ioutlets と ibaction を自動生成しようとしています。他の誰かが xcode に問題を抱えていたのか、それを再インストールすることで問題が解決するのか疑問に思っています。
objective-c - 認識されないセレクターに関連する例外のデバッグ
助けてくれないかと思っていました。
ユーザーがテキストフィールドに特定のテキストを入力すると、新しいビューに移動する状況を作成したいと思います。
私はこれを機能させるのに苦労しています-私はこれを扇動するために次のコードを使用します:
}
同じ方法を使用して、コード内の他の場所にある別の画面に移動しました(CorrectScreen * screenの3行と同じ方法を使用)。受信するエラーメッセージは次のとおりです。
例外ブレークポイントを追加すると、緑色の矢印は[self presentModal ....]で始まる行で停止し、スレッドは次のことを強調表示します。
問題がどこにあるのか本当にわかりません。認識されないセレクターの問題は、通常、オブジェクトが正しくリンクされていないことに関連しているという印象を受けましたが、ここでそれを行ったと確信しています。
誰かアイデアはありますか?私は今少し立ち往生していて、そこにいる誰かが助けることができると確信しています!
どうもありがとう!
アンディ