Ich habe eine Klasse "DeletableImageView" (.swift + .xib) erstellt, die das Protokoll verwendet, das ich als "DeletableImageViewDelegate" durch eine Eigenschaft definiert habe, die ich Delegat nannte.Wie verbinden Delegaten von benutzerdefinierten Klasse in Xib?
Beispiel aus Gründen der Klarheit:
DeletableImageView.swift
protocol DeletableImageViewDelegate {
func deleteImageWithTag(tag: Int!) -> (Bool)
func addImageOnViewWithTag(tag: Int!) -> (Bool)
...
}
class DeletableImageView: UIView {
var view: UIView!
var delegate: DeletableImageViewDelegate?
// Some random methods + some use of the delegate protocol's methods
...
}
Mein Problem ist, dass jetzt, wenn ich versuche, meine Klasse in einem Controller aus der zugehörigen .xib-Datei zu verwenden (die bedeutet, dass ich eine Ansicht in den Schnittstellen-Builder ziehen und ablegen und dieser Ansicht die DeletableImageView-Klasse zuweisen kann. Ich kann die Eigenschaft delegate nicht verknüpfen (auch wenn ich diese Eigenschaft als IBOutlet deklariere).
Was ich möchte in der Lage sein zu tun ist, um direkt Link des Delegierten-Buchse im Hinblick auf die „Datei Besitzer“ in der .xib
Genau das gleiche, was Sie tun, wenn Sie Datenquelle und delegieren Link von einer Tabellenansicht direkt in der .xib-Datei.
Aber wenn ich control-ziehen, werden sie nicht miteinander verknüpfen.
Hat jemand eine Idee von dem, was passiert?
Vielen Dank.
Entspricht der Dateibesitzer dem Protokoll? – luk2302
Ja, der Besitzer der Datei entspricht dem Protokoll ... –
Hier ist ein Video, das ich gemacht habe, um Ihnen zu helfen, mein Problem zu verstehen: https: // youtu.be/clYFj6dkaWk –