これらは基本的に同じですか?私はJavaでのインターフェースを持っている場合Objective-C。 Javaインターフェイスのようなプロトコルを使用できますか?
は、例えば、私は、パラメータとしてCoolObject
を取る関数でCoolObject
インタフェースを実装する任意のオブジェクトを使用することができます
public interface CoolObject{
...
}
:
public void foo(CoolObject o) {
...
}
はです。このObjective-Cでも同じですか?
@protocol CoolProtocol
...
@end
@interface Foo: NSObject <CoolProtocol>
...
@end
(void) - someMethod: (CoolProtocol *) obj {
}
う上記の仕事(と正しいと見なされる?)お時間を
感謝。私の質問を明確にするために私が必要かどうかを教えてください。
良い答えになります。関連するアプローチは、CoolProtocolにidをうまく動作させるNSObjectプロトコルを採用させることです。 NSObjectのサブクラス化に失敗したオブジェクトがコンパイル時にエラーを引き起こし、Objective-Cを強力で柔軟にするダイナミックスを減らす静的型付けを呼び出すので、最後の形式は正しいですが、通常はあまりにも冗長です。 –