Ich fand eine Code-Schnipsel gab es eine Klasse, und diese Klasse hatte die Eigenschaft von CustomViewController (erbt UIViewController) und im Getter dieser Eigenschaft, sie selbst gespeichert. Der beste Weg, diese heiß zu beschreiben, ist über CodeIst Retain-Zyklus in berechneten Eigenschaften möglich?
class SomeClass: {
var alertViewController: UIViewController? {
if self.wasRequested {
return self.chatController
} else {
let vc = CutomVC(nibName: "SomeNibName", bundle: nil)
vc.alert = self
return vc
}
}
}
Wenn Sie nun, dass Viewcontroller präsentieren wird dies jemals de-inited werden? Ist dieser Retain-Zyklus?
Danke
speichert "self" das Ergebnis dieser Methode überhaupt? aka hat es einen Verweis auf diese berechnete CustomVC, Ursache, wenn es nicht ich glaube nicht, es wäre ein Retain-Zyklus. aber wahrscheinlich würde nicht weh tun, um 'vc.alert' eine schwache Referenz zu machen, wenn es nicht schon – Fonix
' vc.alert' ist, sollte wahrscheinlich als eine starke Referenz verlassen werden. Wenn das Ergebnis dieser Methode in einer anderen Ansicht dargestellt wird, ist der Controller 'vc.alert' gleich Null, wenn' self' an anderer Stelle nicht stark beibehalten wird, was vor der Verwendung von 'vc' geschehen kann. Das Ganze wirkt wie ein seltsames Designmuster. –
Ja, es ist in der Tat seltsam :), aber ich war neugierig, was passieren wird .. danke – beretis