2016-08-12 9 views
2

ベストプラクティスが行われる限り、プロトコルはどこで宣言されるべきですか?関連するクラス内か、それとも別のファイル内にあるのか?SHOULDプロトコルは迅速に宣言されるべきですか?

いずれにしても理論的にはうまくいくが、どちらか一方の方法を操る理由は何か?

+0

「関連クラス」とはどういう意味ですか? –

+0

良い質問!それを呼び出すクラス。例えば'someInstance.someDelegateMethod()' –

+0

あなたは具体的に_delegate_プロトコルについて話していますか? –

答えて

1

デリゲートプロパティを含むクラスのファイル内にデリゲートプロトコルを保持するというルールに従います。

次のコードの概要は、デリゲートが設定されるプロパティでプロトコルを維持する方法を示しています。

MyClass.swift:

protocol MyDelegate: class { 
    func firstDelegateMethod() 
    func secondDelegateMethod() 
} 

class MyClass { 
    weak var delegate: MyDelegate? 
} 

参加者は、プロトコルに準拠する必要がオブジェクトであり、他のクラスではなく、プロトコルを含むものによって定義されます。

デリゲートが作業を行っていることを覚えておくと便利です。彼らは、議定書で宣言されているものによって必要とされるものを行います。

プロトコルは基本的にどこにでも置くことができるので、これらの関係を把握するのは混乱する可能性があります。 に一貫性のあるのパターンを従えば、より簡単でコードを管理しやすくなります。

+0

答えてくれてありがとうDaniel!これは、あなたが複数の場所でそのプロトコルを使用している場合を除き、私には意味があります。そのような場合、私はそれを別のクラスに置くことが理にかなっていると思います。ありがとう!! –

+0

それは@ジュリアンBを助けてくれてうれしいです。そして、複数のクラス間でプロトコルを共有する場合、別のクラスを持つことは良い選択です。 – Daniel

関連する問題