Impossibile connettersi alla proprietà delegata di CustomView
dichiarata come @IBOutlet su ViewController
in Interface Builder: semplicemente non è possibile stabilire una connessione.Interface Builder, @IBOutlet e protocolli per delegate e dataSource in Swift
Ecco il codice
class CustomView: UIView {
@IBOutlet var delegate: CustomViewDelegate?
}
@objc protocol CustomViewDelegate {
...
}
class ViewController: UIViewController, CustomViewDelegate {
...
}
@objc
viene utilizzato a causa di swift protocol, IBOutlet property cannot have non-object type, non so perché protocol CustomViewDelegate: class {}
non funziona.
Chiunque altro sono imbattuto in una cosa del genere?
La vostra 'UIViewController' in Interface Builder ha sua categoria specificatamente impostato a' ViewController'? Inoltre, di solito è un requisito (l'ultima volta che ho controllato) che le proprietà di '@ IBOutlet' siano definite come tipi implicitamente scartati, come ad esempio:' CustomViewDelegate! '. Ciò consente loro di essere "nulli" durante l'istanziazione, pur consentendo di usarli senza il binding opzionale dopo che sono stati cablati. –