Swiftでプロトコルに準拠したクラスの配列を定義したい
プロトコルを定義してそのプロトコルに準拠したクラスの配列を定義したいのですが、良い書き方はありますでしょうか?
プロトコルの定義は以下のような実装で、複数のプロパティとメソッドが定義されています。
protocol ProtocolA {
var property: AnyObject { get }
func someMethod()
}
実際にはこのような形でViewにプロトコルに準拠したクラスの配列を保持したいです。
class View: UIView {
var objects ← これをProtocolAに準拠したクラスの配列にしたい
}
このような形も考えましたが、Storyboard上での使用も考え諦めました。
class View<T: ProtocolA>: UIView {
var objects = [T]()
}
使用用途としては
class View: UIView {
func someMethod<T: ProtocolA>(objects: [T]) {
// このobjectsをプロパティとして保持したい
}
}
ジェネリクスを使用したプログラミング経験があまりなく不可解な説明があるかもしれませんが、よろしくおねがいします。