2016-06-15 12 views
0

既にコードを追加できるクラスの拡張機能を作成する目的は何ですか?例えばSwift Extensions

は、Ray Wenderlich's AlamoFireチュートリアル、

に彼はViewControllerをクラスを持っているが、彼は彼のネットワーク機能とUIImagePickerControllerDelegate方法のためのそののViewControllerの拡張子を書き込みます。彼が拡張機能を書いている唯一の理由は、コードを論理ビットに分割するためですか?

これは一般的な行為ですか、個人的な好みですか?

答えて

4

これはAppleがやっていることです。コードを見ると(Array構造体としましょう)、プロトコルに準拠すると、がカプセル化されていることがわかります。拡張子の中にあります。

唯一の違いは、コードが分かれていることです。しかし、それは本当にあなた次第です。

2

よくあることはわかりませんが、コードの区切りが作成されるため、私はそれを実行していることを知っています。何かが必要な場合は、指定された内線番号に移動します。しかし、私はそれが単に個人的な好みであると信じています。

1

1つの使用は言及されていません。ソースコードに追加するとアクセスできません。

0

これは慣例、Appleは個人的には以下のものです。

個人的に私はそれが大好きです。大きなモノリシックなクラスを小さくして管理しやすい部分に分解することができます。

特に、プロトコル準拠を拡張すると、コードがより読みやすくなります。これは、Objective-Cの#pragma markプリプロセッサマクロと同じ目的を果たします。