7

これは Java/.Net IDE の基本的な機能であるため、質問する前にあきらめたくありません。コンパイラは私に教えてくれます:

Incomplete implementation of class...
Method definition for '-someMethod:' not found

しかし、クリック、右クリック、祈り、Google 検索では、これからメソッド スタブを自動的に作成することはできませんでした。Xcode でメソッド スタブを作成してそこに移動することはできますか?

そうでない場合、それはなぜでしょうか (「本物のプログラマーはタイピングを楽しむ」ことは別として)?

編集:基本的にこれで解決したと思いoption-escapeましたが、そうではありません。私のクラスが実装するインターフェースのすべて(どれか?)を認識していないようです。

4

4 に答える 4

4

これは、Apple に機能要求を提出するためのオプションである可能性があります。通常、@interface ファイルを設計し、@interface を @implementation にコピー/貼り付けして、入力を最小限に抑えます。

ただし、警告をクリックして、Xcode で @implementation の下部にメソッドを簡単に作成できると便利です。

注: @implementation の後にセミコロンを付けることは有効です

@interface PCStackValue : NSObject <NSCoding, NSCopying>
{
}

- (id) initWithDisplayRadix:(int) newRadix;

@end

@implementation PCStackValue

- (id) initWithDisplayRadix:(int) newRadix;
{
   … do something;
}
@end    
于 2010-03-03T14:18:18.740 に答える
2

私はこの振る舞いを気にしません。1 つには、実装は動的である可能性があるため、必ずしも存在するとは限りません。また、 #pragma mark - MyCategoryを使用してコードを分類し、ソース ファイル内の特定の場所に実装する必要があります。

ただし、同意します。スタブ自体を入力したくありません。

メソッドごとに実行できます。
実装ファイルに移動して入力を開始します- 接頭辞を入力して ESC を押すと、接頭辞に一致する有効な補完が表示されます。これを機能させるには、まずメソッドとクラス メソッドのそれぞれに - または + を入力する必要があります。

何を実装するのかわからない場合があります。課題ナビゲーターを開き、開示用の四角形をクリックします。Method defined hereという行があるはずです。それをクリックすると、実装されていないメソッドが表示されます。

于 2011-12-20T22:57:07.857 に答える
1

あなたが探しているものは存在しません。私はオートコンプリート(通常はうまくいきます)またはコピー/貼り付けを使用します。

Eclipse にあるという理由だけで Xcode にも機能があると考える理由は何ですか? Eclipse は 10 年ほど前のものですが、Xcode は 23 年ほど前のものです。コピーされたフィーチャは、ほとんどの場合、反対方向にある可能性があります。

ただし、それは素晴らしい機能要求になります。おそらく、内部の空の行でオートコンプリート メニューを開くと、@implementation .. @endまだ実装されていないメソッドのリストが表示される可能性があります。

NSObjectしかし、カテゴリがあるため、実際にどれだけうまく機能するかはわかりません。オートコンプリート メニューには、文字通り何千もの「まだ実装されていない」メソッドが存在する可能性があります。しかし、少なくとも最も可能性の高いもののいくつかを示すことができます.

このコンパイル エラー/警告も、新しい "Fix It" 機能の候補として適しているようです。

また、より速く入力することを学ぶ:p

于 2011-12-20T19:33:46.260 に答える
0

OP(私)が話しているのは、インターフェースが暗黙的であるJavaです。ただし、Xcode で同じ場合は、どのインターフェイスにもメソッドがまだ定義されていない場合です。

AppCode はこのケースを処理しますが、Xcode は処理しません (誰かがこの質問に答えない限り、それはしばらくの間ここにありました):

メソッドの作成を示す AppCode ポップオーバー

その後:人々は質問に答えましたが、Xcode はまだこれを行いません。

于 2012-03-19T06:06:11.843 に答える