web-dev-qa-db-ja.com

自動実装Swift Xcodeのプロトコルメソッド

Swift言語から始めて、Javaから来ているのはこれまでのところ見栄えがいい。しかし、私は本当に何かが欠けている:

Eclipseには、「XYZの実装」を追加したときに、必要な関数スタブを自動的に実装する関数が提供されるという素晴らしい機能がありました。これは大きな時間の節約になります。

Xcodeにはこの機能がないようですか、何か不足していますか?

アクセサリプラグインを見つけましたが、これはObjective Cでのみ機能するようです。

解決策はありますか?

PS。 Xcode 6.1.1を使用しています

36
user3207838

Xcode 9

Xcode 9は、「修正」によるプロトコルメソッドへの準拠をサポートするようになりました。不足しているメソッドが自動的に入力されます。これはWWDC 2017で発表されました。

enter image description here

更新:これは、残念ながら、あなたが定義したプロトコルでは機能しないようです。

16
Guy Daher

NB:この答えは、バージョン9より前のXcodeに当てはまります。バージョン9でApple不足しているプロトコルメソッドを自動的に修正する機能を追加。 Guy Daherの答えを参照

IOSプロジェクトを作成し、UIViewController.Swiftファイルに移動しました。そこで、UITableViewDelegateを実装すると宣言しました。

class ViewController: UIViewController, UITableViewDelegate {

クラスの本体に入り、「tab ...」と入力し始めると、適切なオートコンプリートが表示されます。

Xcode autocompletions

ヒッティング Enter 次に、関数スタブを挿入し、カーソルをコード化できる状態にします。

これは、Xcodeがプロトコル(または継承されたクラスメソッド)をオートコンプリートする方法に過ぎません。それらすべてを一度に実行したい場合、残念ながらそれが可能だとは思いません。しかし、いつでもできる Cmdクリックまたは Option-Cmdプロトコル名をクリックして(セカンダリエディターウィンドウを使用)、その定義にジャンプします。これは基本的に、コードにコピーアンドペーストできるすべてのメソッドのリストです。そこから少し整理する必要がありますが、あまり必要ありません。

22
Matt Gibson

Xcode 9は、Swift Datasource&Delegates。

UICollectionViewDataSourceの例でこれらのスナップショットを見てください:

プロトコルメソッドを実装するための警告を示す:

enter image description here

「修正」ボタンをクリックすると、すべての必須メソッドが追加されます。

enter image description here

代替オプション
キーボードのショートキーを使用できます。 Ctrl + Option + Command + F すべての問題を一度に修正します。

enter image description here

3
Krunal