Ben benzer fonksiyonları bir dizi var şu:Birinin beklenmediği değişebilir bir nesneyi iade etmemek için herhangi bir sebep var mı?
+ (NSArray *)arrayOfSomething
{
NSMutableArray *array = [NSMutableArray array];
// Add objects to the array
return [[array copy] autorelease];
}
Sorum bu yöntemin son satırında hakkındadır: daha iyi değişken nesneyi döndürmek ve bir kopyalama işlemi önlemek veya değişmez bir dönüş etmektir anlaşıldı mı? Beklenmeyen bir nesneyi beklemekten kaçınmanın iyi bir nedeni var mı?
Elbette verdiğiniz örnek, ilk önce bir kopya oluşturmadan orijinali geri gönderebilir. Ayrıca, bunun bir sınıf yöntemi olduğu (ve bu arada bir işlev olmadığı) göz önünde bulundurulduğunda, her seferinde dizinin yeni bir örneğini oluşturmaya gerçekten ihtiyacınız var mı? Kopyayı önbelleğe aldıysanız, nokta oldukça fazla olacaktır. – jlehr
+1 çünkü tüm Objective-C programcılarının cevabı araştırırken bilmesi gereken önemli bir şey öğrendim. – JeremyP