@IBOutlet zorgt ervoor dat Interface Builder het stopcontact herkent. private zorgt ervoor dat het stopcontact niet toegankelijk is buiten de huidige klas. zwak wordt gebruikt omdat in de meeste situaties de eigenaar van de outlet niet dezelfde is als de eigenaar van de view. Een viewcontroller bezit bijvoorbeeld geen label - de view van de viewcontroller wel.
Moeten IBOutlets zwak zijn?
Het officiële antwoord van Apple is dat IBOutlets sterk moet zijn. Het enige geval waarin een IBOutlet zwak zou moeten zijn, is om een bewaarcyclus te vermijden. Een sterke referentiecyclus kan leiden tot geheugenlekken en app-crashes.
Wat is IBOutlet Swift?
De typekwalificatie IBOutlet is een tag die wordt toegepast op een eigenschapsdeclaratie zodat de Interface Builder-toepassing de eigenschap kan herkennen als een stopcontact en de weergave en verbinding ervan kan synchroniseren met Xcode. Een stopcontact wordt aangemerkt als een zwakke referentie (zwak) om sterke referentiecycli te voorkomen.
Wat is een zwakke referentie in Swift?
Zwakke referenties. Een zwakke referentie is een referentie die geen sterke greep houdt op de instantie waarnaar deze verwijst, en dus ARC er niet van weerhoudt om de instantie waarnaar wordt verwezen te verwijderen. Dit gedrag voorkomt dat de referentie deel gaat uitmaken van een sterke referentiecyclus.
Wat is het verschil tussen zwak en sterk in Swift?
Een strong verwijzing betekent dat u het object waarnaar u verwijst met deze eigenschap/variabele wilt "bezitten". In tegenstelling tot een zwakkereferentie geeft u aan dat u geen controle wilt hebben over de levensduur van het object.