2012-07-01 16 views
5

Şu anda dokümantasyon ve web üzerinden arıyorum, ama ben ne arıyorum göremiyorum ve ne arıyorum :-)ios - Çekirdek Veri kayıtları güncelleme

varsa ben sadece teyit etmek istiyorum

NSManagedObject *newSoftware = [NSEntityDescription insertNewObjectForEntityForName: 

Şimdi bana güncellemesini sağlayan benzer bir çizgi vardır: - Anladığım kadarıyla kod satırı bana Çekirdek veri yoluyla uygulamamda gösteriyorum SQLite veritabanına bir kayıt eklemenizi sağlar üzerinde çalışıyorum kayıt?

buna benzer bir şey?

NSManagedObject *newSoftware = [NSEntityDescription updateCurrentObjectForEntityForName: 

sadece NSManagedObject 'ın özelliklerini güncellemek, rekor güncellemek için

cevap

8

Burada önceki cevabım. Neler olup bittiğini anlamak oldukça detaylı. fumoboy007 yorum dayanarak

How to update existing object in Core Data?

, size yönetilen nesne için bir alt sınıf kurmadıysanız eğer nesne oluk KVC güncellemeniz gerekir. Eğer daha önce oluşturmadıysanız bunu önermeyi öneririm. Yönetilen bir nesneyi özellikler üzerinden aktarabildiğinizden, kod daha temiz görünüyor. İşte

üzerinde bir linki:

organising-core-data-for-ios

+0

Ayrıntılı cevap için teşekkürler - Çalışıyorum :-) –

+0

Merhaba, hala bir sorum var üzgünüm umarım umarım umurumda değil @ "title ==% @", @ "Some Title" ]; Bana verdiğin bağlantıda olduğu gibi @ "name ==% @", self.appNameTxtFld.text]; Artık sorun, dizideki tüm bilgi satırlarımın yalnızca seçtiğim değil değiştirilebilmesi. Eylemlerimde nasıl daha spesifik olabilirim? –

+0

@JeffKranenburg Üzgünüz, anlayamıyorum, cevabınıza bir düzenleme ekleyebilir ve orada açıklayabiliriz. Sana yardım etmeye çalışacağım. Teşekkürler. –

11

:-) geri bildirim için size çok teşekkür ederim. CoreData kullanıyorsanız, "tablolar" ın her biri için NSManagedObject s olmalıdır. Veritabanını sorguladıktan sonra (NSFetchRequest kullanarak) bir nesneye başvuru alın. Sonra kaydı şu şekilde güncelleştirebilirsiniz: myObject.firstName = "John"; Sqlite veritabanınızdaki nesneyi güncellemeye hazır olduğunuzda, yalnızca NSManagedContext ürününüzün save yöntemini arayın. Bunu daha iyi anlamak için CoreData örnek uygulamasıyla (Xcode tarafından üretilen varsayılan gibi) oynamanızı öneriyorum.

+2

Not: 'myObject.firstName = @ "John"; bir NSManagedObject alt sınıfını yarattı eğer' çalışır. Eğer bunu yapmamış olsaydınız, o zaman [myObject setValue: @ "John" içinKey: @ "firstName"] 'yapmalısınız. – fumoboy007

+1

Soruyu sormadan önce bu kurulumu yaptım, ancak bir kaydı güncellemek yerine onu yenisi olarak ekledi. –

+0

Açık kod ile açıkladı. – andyPaul

İlgili konular