Objective-C ilan için @özellik öznitelikleri (, kopyalama, güçlü, zayıf)nonatomic
Biri açıklamak için bana ayrıntılı olarak ne zaman gerekir her öznitelik: nonatomic
, copy
, strong
, weak
, ve böylece, bir ilan mülkiyet ve açıklamak her ne yapar? Örnek bir çeşit büyük de olabilir. ARC kullanıyorum.
CEVAP
Nonatomic
nonatomic
çoklu iş parçacığı oluşturma amaçlı kullanılır. Eğer bildirimi zamanında nonatomic öznitelik kümesi varsa, o zaman başka bir iş parçacığı bu nesneye erişmek isteyen erişim ve çoklu iş parçacığı açısından sonuçlar verebilir.
Kopyala
copy
nesne değişken gereklidir. Eğer şu anda olduğu gibi nesnenin değeri gerekiyorsa, bu kullanmak ve bu değer herhangi bir değişiklik nesnenin diğer sahipleri tarafından yapılan yansıtmak istemiyorum. Kopya istinat çünkü bittiğinde nesneyi serbest bırakmak gerekir.
Atayın
Assign
biraz copy
zıddıdır. assign
bir özellik alıcısı çağırırken, gerçek veri için bir referans verir. Genellikle (yüzer, int, BOOL...) ilkel tür bir özelliği varsa bu özelliği kullanın
Korur
retain
öznitelik bir nesneye bir işaretçi gereklidir. Ayarlayıcı @synthesize
tarafından oluşturulan (Ekle korumak sayımı aka) nesne korur. Onunla işiniz bittiğinde nesneyi serbest bırakmak gerekir. Artacak korumak kullanarak ve autorelease pool bellek sayısı işgal korur.
Güçlü
strong
Objective-C parçası Otomatik olarak öznitelik, korumak Referans Sayma (ARC) yerine geçer. -ARC sigara kodu korumak için sadece bir anlama geliyor.
Bu strong
ve iOS 5 weak
hakkında bilgi edinmek için iyi bir web sitesidir.
http://www.raywenderlich.com/5677/beginning-arc-in-ios-5-part-1
Zayıf
weak
1 başvuru sayısı artış olmayacak dışında strong
benzer. Bu nesnenin bir sahibi olmaz ama sadece bir başvuru içerir. Eğer nesnenin başvuru sayısı hala işaret olsa bile 0, buraya düşerse, bellekten kaldırıldı.
Yukarıdaki link de İyi ile ilgili bilgileri içerirZayıf ve Güçlü.
@özellik ve korumak, atama, kopyalama,...
Zayıf ve güçlü özellik ayarlayıcısı Ob...
Objective-C ARC: vs vs atamak güçlü ve...
Güçlü arasındaki farklar ve Objective-...
Objective-C için bir arada kısayolları...