29

Visual Studio でインターフェイスを実装するクラスを定義すると、たとえば

class MyObject : ISerializable {}

ISerializable を右クリックし、コンテキスト メニューから [ Implement Interface ] を選択すると、クラス定義に適切なメソッドが表示されます。

class MyObject : ISerializable {
    #region ISerializable Members
    public void GetObjectData(SerializationInfo info, 
                StreamingContext context)
    {
        throw new NotImplementedException();
    }
    #endregion
}

Mac 上の Xcode で利用できるこの機能のようなものはありますか? この方法でプロトコルを自動的に実装できるようにしたいと考えています。オプションのメソッドが生成されたがコメントアウトされている可能性があります。

4

7 に答える 7

22

XCode は現在、そのような自動化をサポートしていません。しかし: コードをプロトコルでブートストラップする簡単な方法は、クラス宣言でプロトコル名をオプションクリックすることです

@interface FooAppDelegate : NSObject <NSApplicationDelegate, 
                                      NSTableViewDelegate> {

プロトコルを定義する .h ファイルをすばやく開きます。そこから、関心のあるメソッドをコピーして貼り付けます。これらのヘッダーはよくコメントされている傾向があり、安全に無視できるメソッドを判断するのに役立ちます。

于 2011-03-19T02:04:03.570 に答える
6

Xcodeでその機能を見たことがありません。しかし、誰かが「スクリプト>コード内にある「クリップボードにImplementorDefsを配置する」という新しいユーザースクリプトを書くことができるようです。

これは役に立ちませんでした。

于 2008-10-11T17:16:35.490 に答える
5

現在、Xcode にはそのようなリファクタリングはありません。

ご希望の場合は、拡張リクエストを提出してください。

于 2008-10-12T02:57:34.600 に答える
2

このスレッドが少し古いことは知っていますが、同じことを疑問に思い、この質問を見つけました。

私の場合、インターフェイス (.h) でプロパティを定義しており、実装 (.m) でそれを合成したいと考えています。インターフェイスで定義されたメソッドも実装する必要があります。はい、他の人が述べたように Xcode は役に立ちますが、最新の IDE は、私たちが頻繁に行う作業に対してこれらの生産性向上機能を提供します。これはまだ Xcode 4.3.3 の機能ではないようです。ただし、この機能はJetBrains の AppCodeで利用できます。私は試用版に手を出しているだけですが、Visual Studio のようなインターフェイス全体ではなく、一度に 1 つのプロパティまたはメソッドしか使用できないようです。

于 2012-06-30T20:45:51.290 に答える
1

Xcodeは、プロトコルごとの方法を支援します。たとえば、次のようなプロトコルがあるとします。

@protocol PosterousWebsitesDelegate <NSObject>
- (void)PosterousWebsitesLoadSuccess:(PosterousWebsites*)websites;
@end

.mファイルの@implementationセクションで、メソッドの名前を書き始め、ESCキーを押してメソッド/セレクターのシグネチャをオートコンプリートできます。

-(void)Poste (...press ESC...)

Xcodeは、@ protocolメソッドの完全な署名をオートコンプリートし、TABを押してコードを確認します。

OSX / iOS開発を学ぶことに真剣に取り組んでいるのであれば、「XCode 3 Unleashed」を読むことをお勧めします。これは、私がVSを知っている限りXcodeを深く知るのに本当に役立ちました:)

于 2010-10-17T04:20:39.247 に答える
0

Macrumorsもこれについて議論しました。いくつかのアップルスクリプトへのリンクがあります。私は実際にこれらを試していません。

于 2010-01-27T03:50:02.597 に答える