An array is an unnecessary complication, so delete it and just think of a simple type. This is not legal:
protocol TestProtocol {
var prop: AnyObject {get}
}
class SomeClass {}
class Test: TestProtocol {
var prop : SomeClass = SomeClass()
}
, , , , TestProtocol, prop AnyObject - - , AnyObject.
, . , SomeClass , AnyObject. ; SomeClass, AnyObject.
, , :
protocol TestProtocol {
var prop: AnyObject {get}
}
class SomeClass {}
class Test: TestProtocol {
var prop : AnyObject = SomeClass()
}
, ; , , , . , , ?
, Swift, , , . , . A typealias . , , . . , , :
protocol TestProtocol {
typealias T:AnyObject
var prop: T {get}
}
class SomeClass {}
class Test: TestProtocol {
var prop : SomeClass = SomeClass()
}
typealias T:AnyObject , T , AnyObject, .