Swift non sa che il tipo generico T ha un operatore '+'. Non puoi usare + su nessun tipo: ad es. su due controller di vista + non ha molto senso
È possibile utilizzare la conformità del protocollo per consentire a Swift di conoscere alcune cose sul proprio tipo!
ho avuto un andare in un parco giochi, e questo è probabilmente quello che stai cercando :)
protocol Addable {
func +(lhs: Self, rhs: Self) -> Self
}
func add<T: Addable>(num1: T, _ num2: T) -> T {
return num1 + num2
}
extension Int: Addable {}
extension Double: Addable {}
extension Float: Addable {}
add(3, 0.2)
Fatemi sapere se avete bisogno dei concetti dimostrato qui spiegati
fonte
2015-12-07 03:01:09
E la domanda è ...? –
Cosa succede se il tipo non è un numero? Che cosa è successo selvaggio? –
zaph
Confronta http://stackoverflow.com/questions/25575513/what-protocol-show-be-adopted-by-a-type-for-a-generic-function-to-take-any-num –