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?
1
A
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
- 1. Sollte IBOutlet schwach oder stark sein?
- 2. Wann sollte eine Baumstruktur class/struct sein?
- 3. Können NSString-Konstanten schwach verknüpft sein?
- 4. Wann sollte ein Konstruktor öffentlich werden und wann sollte er paket-privat sein?
- 5. Wann sollte ich einen UIViewController in der IOS-Programmierung verwenden?
- 6. Wenn ich mehrere Typen eines Objekts habe, wann sollte object.type eine Zeichenfolge sein und wann sollte es ein Fremdschlüssel sein?
- 7. Machen Sie selbst schwach in Methoden in Swift
- 8. Wann selbst zu verwenden?
- 9. Wann sollte wkWebView verwendet werden?
- 10. Wann sollte $ .extend ({...}) verwendet werden?
- 11. Wann sollte ich __call__
- 12. Wann sollte ich git add verwenden?
- 13. Ist es notwendig, "schwach" in Swift zu verwenden?
- 14. JavaScript entwickeln - Wann sollte ich Komponententests starten?
- 15. Wann sollte ich @classmethod und wann def-Methode (self) verwenden?
- 16. Sollte `System.IO.Path` konkret sein?
- 17. Pfadkomponente sollte '/' sein
- 18. Sollte CIII gleich sein?
- 19. Wann sollte range.value verwendet werden?
- 20. Wird System.Numerics.BigInteger unveränderlich sein? Sollte es sein?
- 21. Wann sollte man dup verwenden und wann sollte ich in Ruby klonen?
- 22. Wann sollte in Rust inline verwendet werden?
- 23. Unterschiede zwischen schwach und unsafe_unreated
- 24. Wann sollte ich `seq` in Clojure vermeiden?
- 25. Wann sollte Flask.g verwendet werden?
- 26. Wann sollte IDisposable implementiert werden?
- 27. Wann sollte ich getElementById verwenden?
- 28. Wann sollte ich ConcurrentSkipListMap verwenden?
- 29. Wann sollte FOUNDATION_EXPORT verwendet werden?
- 30. Wann sollte StringBuilder verwendet werden?
Ein guter Ausgangspunkt wäre https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html – zneak
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