I generischen Protokolltyp als Funktion Rückgabetyp wie diese verwenden möchten: mit FehlernSwift Protokoll generic als Funktion Rückgabetyp
protocol P {
associatedtype T
func get() -> T?
func set(v: T)
}
class C<T>: P {
private var v: T?
func get() -> T? {
return v
}
func set(v: T) {
self.v = v
}
}
class Factory {
func createC<T>() -> P<T> {
return C<T>()
}
}
Aber diesem Code kompilieren klagte:
- Kann nicht nicht spezialisieren generischer Typ 'P'
- Rischer Parameter 'T' ist nicht in Funktion Signatur verwendet
Gibt es eine Möglichkeit, eine ähnliche Funktion mit Swift zu erreichen?
Welche Linien haben die Fehler? Ich denke, ich habe eine gute Idee, wo # 2 ist, aber nicht # 1. – tktsubota
@TroyT Die Zeile mit dem Code 'func createC() -> P {' –
ufosky