-1

Xcode 4.5 でのプロジェクトのビルドに問題があります。Xcode は、「'item' という名前の複数のメソッドが、一致しない結果、パラメータ タイプ、または属性で見つかりました」というエラーを表示します。誰かが私に何が問題なのか教えてもらえますか? 複数のメソッド名のエラーを解決するには?

4

2 に答える 2

1

おそらく、メソッドを実装するさまざまなクラスがありますitemが、異なるタイプの結果を返します。itemその後、型指定されたポインターで呼び出そうとするとid、結果の型がどうあるべきかを知る方法がありません。

それが XCode が嘆いていることです。

それを解決する方法は、実際に何をしようとしているのかによって大きく異なります。おそらく、メソッドに異なる名前を使用することが最善の解決策です。

于 2012-09-15T03:50:32.990 に答える
0

Analog File の投稿のようにメソッド名前空間の競合が発生した場合 - id ポインターで呼び出す場合、ポインターを許容可能なクラス型にキャストすることで、「複数のメソッドという名前..」エラーを解決できます。

したがって、元の(エラーを引き起こす)呼び出しが次のようなものであると仮定します。

id myPointer = /* ... */;
[myPointer item];

XCodeがそのメッセージを送信できる複数のクラスを表示する「アイテム」をコマンド+クリックできます。これらのクラスのいずれかにキャストして、XCode が使用するクラスを次のように認識できるようにします。

[(UIActivityItemProvider*)myPointer item];
于 2013-10-30T17:46:01.967 に答える