Ich frage mich nur, ob jemand weiß, was der Unterschied zwischen Objective C 2.0 ist Garbage Collector und neuer automatischer Referenzzähler im IOS 5 SDK?
verwendet IOS 5 SDK auch Objective C 2.0?
Hinweis: Was ich meine Ziel C 2.0 - Ich sah von diesem Link Ссылка
Danke
Ich frage mich nur, ob jemand weiß, was der Unterschied zwischen Objective C 2.0 Garbage Collector und dem neuen automatischen Referenzzähler in IOS 5 SDK ist?
ARC ist kein Garbage Collector. Es ist besser, sie als manuelle Referenzzählungsaufrufe (Retain / Release / Autorelease) zu betrachten, die vom Compiler hinzugefügt werden. Es verwendet auch einige Laufzeittricks.
Wenn Sie ObjC auf Apple-Systemen völlig neu sind: Alle Objective-C-Typen von Apple verwenden Referenzzählung, aber es gibt jetzt mehrere Varianten. Vor ARC und vor GC verwendeten wir nur manuelle Referenzzählung (MRC). Mit MRC würden Sie Ihre Objekte explizit beibehalten und freigeben. MRC war schwierig für einige Leute, besonders für diejenigen, die wenig Zeit damit verbracht hatten, ihr Gedächtnis explizit zu verwalten. Daher wuchs die Nachfrage nach einfacheren Systemen im Laufe der Zeit. MRC-Programme erfordern außerdem, dass Sie eine gute Menge an Speicherverwaltungscode schreiben, was mühsam werden kann.
Sehen Sie Brads ausgezeichnete Antwort hier für einige mehr Details.
verwendet IOS 5 SDK auch Objective C 2.0?
Ja, aber ist der ObjC Garbage Collector nicht und war niemals eine Option für iOS.
Hinweis: Garbage Collection ist unter iOS nicht verfügbar, aber gemäß meinen Kommentaren ist ARC unter Mac OSX 10.6+ verfügbar. Die Unterschiede sind jedoch immer noch vergleichbar.
Mit automatische Referenzzählung werden Objekte immer noch freigegeben, sobald sie den Gültigkeitsbereich verlassen.
Mit garbage collection können Objekte im Speicher verbleiben, bis der Garbage Collector den nächsten Sweep ausführt und Objekte findet, die keine Referenzen mehr enthalten.
Tags und Links objective-c ios garbage-collection automatic-ref-counting