web-dev-qa-db-ja.com

Xcode:プロトコルインターフェイスで必要なメソッドのスタブを自動作成することは可能ですか?

Eclipseから来る/ Javaバックグラウンド、私のお気に入りの機能の1つは、インターフェースに必要なすべてのメソッドをすばやくスタブできる機能です。Eclipseでは、「オーバーライド/実装」をインターフェイスの任意のメソッドのスタブメソッドを生成するソースメニュー。

Objective-Cでも同じことをしたいのですが。たとえば、「NSCoding」プロトコルを実装するクラスを宣言する場合、Xcodeにこのプロトコルの実装に必要なメソッドを自動的に生成させたいと思います。必要なメソッドのシグネチャを調べてから、実装しようとしているすべてのプロトコルをコピーして貼り付けるのは面倒です。

これが可能かどうかしばらく調べてみましたが、まだ有望なものは見つかりませんでした。これはXCodeで可能ですか?

46
Eric Farraro

Accessorizerは、渡されたivarのエンコードおよびデコードメソッドを記述します(NSCodingプロトコルおよびNSDocumentアーカイブ用)。また、静的または#defineのいずれかでカスタムプレフィックスを付けた文字列定数を生成します。 copyWithZone :;必要に応じて、その他すべて-サービスを介した簡単なショートカットから、またはツールバーから。 Accessorizerキー付きアーカイブ

7
Kevin

私は Accessorizer があなたが望むことをすると信じています。

8
jessecurry

悲惨な答えではなく、ヒント:

そのままではXCodeはできません。

しかし AppCode はできます。

これは自動的に(もちろんあなたの許可を得て)行うことができます。

プロトコルのいくつかのメソッドが@required-AppCodeとしてマークされている場合、実装を強調表示し、このメソッドの実装を提案します。

example

@optionalメソッドも自動的に実装できます(ショートカット:control+[〜#〜] i [ 〜#〜])。

6
skywinder

ヘッダーファイルでプロトコルのメソッドスタブを生成する方法も探しています。私はAccessorizerをチェックアウトしましたが、それは便利なツールのように見えますが、何かを見落とさない限り、プロトコルのメソッドスタブを生成する方法を見つけられませんでした。

エリック、別の解決策を見つけたら、見つけたものを投稿してください。 XCodeにこれがIDEに組み込まれていないことは、私にとって驚くべきことです。

1
Brad

受け入れられた回答の所定のリンクが機能しなくなった(そして広告にリダイレクトされた)ため、 here's アクセサライザを使用してプロトコルメソッドスタブを作成する方法についてのもう1つの良い説明です。

1
pille

Xcode 3.2は既知のメソッドの実装をオートコンプリートします。つまり、メソッドがどこか(たとえば、プロトコル内)で宣言されている場合、.mファイルに入力し始めると、Xcode 3.2がメソッドのシグネチャを自動補完します。これはあなたが要求したものではありませんが、非常に便利です。

1
Lily Ballard

AppleScript、Perl、Python、Ruby、またはその他のスクリプト言語でスクリプトメニュー項目に対応するスクリプトを作成できます。

.mファイルに挿入ポイントを置き、スクリプトに対応する.hファイルを検索させることができます。サポートされているプロトコルなどを探します...

MacTechが2007年に記事を掲載 Xcode Menu Scripts

1
Niels Castle

私の場合、下のスタイルは私を大いに助け、ある意味で私の問題を解決しました。

次のメソッド宣言があるとします。

+(DBManager*)getSharedInstance;

実装ファイルから+ geと入力すると、xcodeが自動的にメソッドを選択します

+(DBManager*)getSharedInstance;
0

これは古い質問ですが、常に最新の定義を表示したい場合は、問題のクラスを右クリックして[定義にジャンプ]をクリックしてください。ここでは、現在の非推奨でない機能をすべて使用しているため、最新の状態を維持するためにサードパーティに依存する必要はありません。

0
Mark McCorkle

AllanCraigの「変数宣言から@ property、@ synthesize、deallocを作成する」に基づいてRubyスクリプト、インターフェース1から実装スタブを生成するために作成しました: http://Pastebin.com/4T2LTBh6

使い方?

  • XCodeにスクリプトを設定し(シェルスクリプト)、それにショートカットを割り当てます(CMD + 5など)。
  • 実装を生成するインターフェイスファイルから行を選択し、ホットキーを押します。
  • .mには、選択したメソッドが含まれます。
0
AlfredBaudisch