Declare variable vom Typ UIView gemäß einem Protokoll in Swift 2

Muss ich eine variable deklarieren, die vom Typ UIView die auch konform zu MyProtocol:

protocol MyProtocol: class {
    func foobar()
}

class MyClass {
    var myView: UIView<MyProtocol>! //Error: Cannot specialize non-generic type 'UIView'
}

Jedoch bekomme ich den compiler-Fehler: Nicht spezialisiert nicht-generischen Typ 'UIView'.

Muss ich Zugriffsmethoden auf die Variablen aus UIView und MyProtocol.

Was ist die korrekte Deklaration von Variablen, die zur Unterstützung dieser Anforderungen?

Ob es einen Unterschied macht, nur UIView Unterklassen implementieren das Protokoll. Derzeit ich hinzufügen-Protokoll-conformance-über Erweiterungen.

Fand ich diese Antwort: https://stackoverflow.com/a/25771265/233602 aber es ist nicht klar, ob diese Antwort ist immer noch die beste option zu gehen, wenn das schreiben in Swift 2.

Schreibe einen Kommentar