2

このコードはデリゲートを使用します

[[[UIAlertView alloc] initWithTitle: @ "Error" message: @ "You can leave the text blank" delegate: self cancelButtonTitle: @ "Quit" otherButtonTitles: @ "OK", nil] show];

問題のデリゲートは次のとおりです。

 (void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex {

私の質問はこれです:Xcodeデリゲートメソッドのオートコンプリートはどのようにしますか?.

Eclipse では、[ソース] メニュー オプションの [デリゲート メソッドの生成] から実行できます。

よろしくお願いします!

4

7 に答える 7

7

クラスは UIAlertViewDelegate プロトコルをサポートする必要があります

@interface YourClass : NSObject 
<
  UIAlertViewDelegate
>

「ダッシュ」と入力し始めると、サポートされているすべてのメソッドに含まれるUIAlertViewDelegateメソッドが表示されます。オートコンプリート メソッドのリストを減らすには、次のように入力します。-alert

すべての「UIAlertViewDelegate」メソッドを表示するには、「定義に移動」を使用するだけです。次のいずれかのメソッドの入力を開始しますXCode

ここに画像の説明を入力

セクションの下のメソッドの場合@required、デリゲート オブジェクトに実装する必要があります。そうしないと、警告が表示されます。メソッドの下にある場合@optional、これらのメソッドを実装する必要はありません (警告は表示されません) が、ほとんどの場合、期待どおりに機能させるためにこれを行う必要があります。

于 2013-09-12T11:47:49.867 に答える
2

メソッドが必須でない場合、実装されていないメソッドに関する警告は表示されません。XCode と Eclipse は異なります。

考え直して、このトリックを使用できます

于 2013-09-12T11:59:06.390 に答える
1

別の選択肢として、xcode の代わりに appcode を使用できます。「生成」機能があります。

于 2016-01-28T07:28:53.683 に答える
0

本当にありがとうございました。

この場合、すべての「@protocol UIAlertViewDelegate」メソッドは @optional の下にあります。この場合、すべてのメソッドが @optional の下にあるため、クラスが UIAlertViewDelegate プロトコルをサポートする必要がないことを理解しています。

解決策は次のとおりです。

UIAlertViewDelegate または UIAlertView を右クリックし、[Jump to definition] をクリックすると、@protocol が表示されます。内部では、@optional と @required を使用したメソッドを見ることができます。@required セクションの下のメソッドの場合、デリゲート オブジェクトに実装する必要があります。そうしないと、警告が表示されます。@optional メソッドの下で、これらのメソッドを実装する必要がない場合 (警告は表示されません)

ありがとうございました

于 2013-09-12T19:51:19.963 に答える
0

Xcodeでは、必要に応じてカスタムコンポーネントを使用して独自のクラスを作成し、人々が解析やAsyncImageViewなどに使用するように応答するためのデリゲートメソッドをサイドに作成できます.

非同期クラスのデモについては、ここにアクセスして、独自のクラスを作成できます。UIAlertView

于 2013-09-12T11:47:27.063 に答える