Nella creazione di un rapido iOS, avevo bisogno di gestire l'evento di una pressa UIButton all'esterno del controller della vista genitore, così ho creato un (molto semplice), il protocollo di delegare questa responsabilità a una classe diversa:Impossibile convertire in `AnyObject?`?
import UIKit
protocol MyButtonProtocol {
func buttonPressed(sender: UIButton)
}
Tuttavia, quando provo ad aggiungereTarget a un UIButton con tale protocollo, viene visualizzato questo errore: Cannot convert value of type 'MyButtonProtocol' to expected argument type 'AnyObject?'
. Non è possibile convertire nel in AnyObject?
? Ecco il mio codice principale:
import UIKit
class MyView: UIView {
var delegate: MyButtonProtocol
var button: UIButton
init(delegate: MyButtonProtocol) {
self.delegate = delegate
button = UIButton()
//... formatting ...
super.init(frame: CGRect())
button.addTarget(delegate, action: "buttonPressed:", forControlEvents: .TouchUpInside)
addSubview(button)
//... more formatting ...
}
}
Grazie in anticipo.
semplice e perfetto !! – iAnurag