Veri modelinden NSManagedObject alt sınıf dosyası oluşturulduğunda, Çekirdek Veriler, dize türü sütunlar için NSString (nonatomic, retain) türünde özellikler oluşturur. Performans değerlendirmesi nedeniyle yapılabilir, ancak, çekirdek verileri NSManagedObject alt sınıflarının model sınıflarından ayrıldığı Veri Eşleyici şablonunu uyguluyorum. Bu nedenle, model sınıflarını çekirdek verisi NSManagedObject alt sınıfına dönüştürürken, yalnızca bir işaretçi değil, bir kopya atar. Mimari açıdan bakıldığında, çekirdek veri erişimi ve model sınıfları arasındaki mantıksal ayrımı frenler, bu yüzden saklamak yerine kopya kullanmam gerekir.NSManagedObject NSString özellikleri "tutma" yerine "kopyalama" ile nasıl yapılır?
Tek yapmanız gereken, NSManagedObject alt sınıflarındaki özellikleri değiştirmek için el ile mi?
Sadece bunun farkında değilsiniz - normal (değiştirilemeyen) '' NSString' '' kopyalama 'yöntemi aynı örneği döndürür, bu nedenle kopyalama özelliğinizden korkma test ettiğinde. – Monolo
Evet, bunun farkındayım, zaten test edilmiş. "Kopyala" sadece değiştirilebilir tip nesnelerini kopyalar. Ayrıca, dikkat çekici olan "copy" özelliği de kopyalama mesajlarını NSArray öğelerine gönderir, böylece dizinin içinde mevcutsa değiştirilebilir dizeler kopyalanacaktır. – Centurion
Lütfen, cevabın altındaki yorumuma bakın. Bugün, pratik kullanım "kopya" özelliklerini anlamaya çalıştım. Nasıl çalıştığını anlıyorum, NSMutableString'i kullanmaya hiç gerek yoktu, bu yüzden deneyimimi kopyalamak gereksiz ve sadece gelecekteki koruma için. – Centurion