2016-07-11 11 views
1

Ich habe gerade gelernt, dass, wenn Sie es nicht schwach machen, Ihre ViewControllers nicht freigegeben werden (Starke Referenz). Bedeutet das, dass Sie jedes Mal, wenn Sie Ihre App schließen, noch etwas "Garbage" (viewControllers) im Speicher lassen, wenn Sie es nicht schwach gemacht haben? Wenn das der Fall ist, ist es dann wahr, dass "schwach" für "Selbst" obligatorisch sein sollte?Wann sollte "Selbst" in IOS schwach sein?

+4

Ein guter Ausgangspunkt wäre https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html – zneak

+1

Im Zweifelsfall verwenden Sie das Instrument Memory Leaks Tool. Es ist möglich, Aufbewahrungszyklen in Objekten zu haben, die schwache Referenzen sein sollten, anstatt stark zu sein, wenn ARC verwendet wird. 'schwach' wird im Allgemeinen für Delegateneigenschaften verwendet, auf die in einer Klasse verwiesen wird, die jedoch in einer anderen Klasse definiert sind, die über einen eigenen logischen Pfad für die Zuweisung verfügt. – jcpennypincher

Antwort

1

Es hängt davon ab, auf welches Selbst in Ihrer Architektur sich bezieht. Wenn self sich auf einen Typ bezieht, der in Ihrer Anwendung beibehalten werden soll, dann wird es ja beibehalten, wenn die App in den Vordergrund geht. Sie können sicher sein, dass dies notwendig ist und auch sicherstellen, dass Sie starke Aufbewahrungszyklen vermeiden.

Verwandte Themen