Ich möchte vollständig einen Verweis auf eine UIView entfernen, wenn es abgegriffen wird (es ist ein Subview.Swift Entfernen Bezug auf UIView
@IBAction private func handleTap(_ sender: UITapGestureRecognizer) {
if (delegate != nil) {
delegate?.imageWasTapped(imageView.image!, photoURL: photoURL!)
self.removeFromSuperview()
}
print ("tap")
}
removeFromSuperview() völlig unzureichend zu sein scheint, um die Instanz zu entfernen (was ich habe) lesen, würde so gerne
self = nil
aber natürlich selbst ist unveränderlich.
ich habe versucht, den Wert meiner Superview als inout Argument übergeben, aber natürlich selbst immer noch unveränderlich.
delegate?.imageWasTapped(imageView.image!, photoURL: photoURL!, imageView: self)
Ist removeFromSumerview() sufficent eine UIView aus dem Speicher freizugeben, oder wie ist das beste getan?
Wenn Sie ARC verwenden, überlassen Sie es dem System, Ihren Speicher für Sie zu verwalten. – Adeel