Bu tamamen iyidir ve aslında dataWithData:
başlıca amaçlarından biri olduğunu -. Bir değişken nesnenin değişmez bir kopyasını oluşturmak için *
NSData
da NSCopying
protocol uyan, ** yaparsın demektir bunun yerine [mutData copy]
kullanın. Fark dataWithData:
per memory management rules ise copy
kimin hafıza Eğer sorumlu olan bir nesne oluşturur size ait olmayan bir nesneyi (o autoreleased edilir) döndürür olmasıdır. dataWithData:
, [[mutData copy] autorelease]
etki alanına eşdeğerdir.
Böylece, ortaya çıkan nesnenin ömrü boyunca gereksinimlerinize bağlı olarak dataWithData:
veya copy
'u seçebilirsiniz.
Bu işlem ayrıca +[NSArray arrayWithArray:]
, örneğin bir değişken alt sınıfı olan diğer sınıfları benzer yöntemler için de geçerlidir.
** Uzmanlık Kılavuzu'nda da "Object Copying" bakınız.