Alors que la migration vers Swift 4.0
, je suis confronté à un problème avec @IBInspectable
,@IBInspectable à 4.0 Swift
open class SVContactBubbleView: UIView
{
@IBInspectable open var dataSource: SVContactBubbleDataSource? //ERROR..!!
@IBInspectable open var delegate: SVContactBubbleDelegate? //ERROR..!!
}
public protocol SVContactBubbleDataSource
{
//Methods here
}
public protocol SVContactBubbleDelegate
{
//Methods here
}
L'erreur qui apparaît est:
propriété ne peut pas être marqué @IBInspectable car son type ne peut pas être représentés en Objective-C
dans Swift 3
, il était wo très bien. Je ne comprends pas ce qui s'est mal passé dans Swift 4
.
En outre, le compilateur ne montre aucune suggestion. Il montre juste un message d'erreur.
L'erreur est vraiment évidente. Dans vraiment ne pouvait pas travailler dans Swift 3, même si elle a passé la compilation. Comment l'éditeur de l'interface constructeur vous a-t-il cherché dans Swift 3? – Sulthan
Les protocoles sont-ils des protocoles 'class'? et marqué '@ objc'? Notez également que les délégués devraient probablement être «faibles». – Sulthan
Si vous voulez les connecter dans IB, ils doivent être '@ IBOutlet's, pas' @ IBInspectable' –