İOS 5'te Otomatik Referans Saymayı öğrenmeye çalışıyorum. Şimdi bu sorunun ilk kısmı kolay olmalı:
Ben emin düzeltmek mi DEĞİL ARC kullanırken benim dealloc açık bırakma-mülk ifadeleri yazmaya gerek? Başka bir deyişle, şu mu doğrudur DEĞİL bir açık dealloc gerek?
@interface MyClass : NSObject @property (strong, nonatomic) NSObject* myProperty; @end @implementation MyClass @synthesize myProperty; @end
Bir sonraki ve daha önemli sorum , ARC Sürüm Notlarına Geçiş belgesindeki bir satırdan geliyor :
Örnek değişkenleri serbest bırakmanız gerekmez (aslında yapamazsınız), ancak sistem sınıflarında ve ARC kullanılarak derlenmeyen diğer kodlarda [self setDelegate: nil] 'i çağırmanız gerekebilir.
Bu şu soruyu akla getiriyor: Hangi sistem sınıflarının ARC ile derlenmediğini nasıl bilebilirim? Kendi dealloc'umu ne zaman oluşturmalıyım ve açıkça güçlü tutma özelliklerini nil olarak ayarlamalıyım? Özelliklerde kullanılan tüm NS ve UI çerçeve sınıflarının açık dealloc gerektirdiğini varsaymalı mıyım?
Manüel referans izlemeyi kullanırken bir mülkün destek ivarını serbest bırakma uygulamaları hakkında SO ve başka yerlerde bol miktarda bilgi vardır, ancak ARC kullanırken bu konuda nispeten az şey vardır.
MyController : UIViewController
bir UIView yaratan ve sahip olan ve aynı zamanda görünümün temsilcisini kendisine ayarlayan bir sınıfa sahip olduğumdur . Bu görüşün tek alıkoyma sahibidir. Denetleyici serbest bırakıldığında, görünüm de serbest bırakılmalıdır. Delege işaretçisinin sallanmasının bir önemi var mı?