Temel Veri Modeli'ni iOS'ta nasıl uygulayacağımızı öğrenmeye yeni başladım. Varlıklar arasında birebir ilişkiyi nasıl saklayacağınız ve nasıl alacağınız ile ilgili bazı temel öğreticilerden sonra, şimdi bire kadar bir ilişkiyi uygulamaya çalışıyorum. aşağıdaki gibi Benim veri modeli tanımlı kendi sınıfları ile iki tarafın oluşur:Temel Veriler: Bir Çok İlişkiye Bire Bir Yerleşim Ekleme
Restaurant:
@interface Restaurant :NSObject
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSMutableArray *user_reviews; /* One to Many Relation to Review Entity*/
@end
Review:
@interface Review : NSObject
@property (nonatomic, strong) NSString *rating;
@property (nonatomic, strong) NSString *review_text;
@property (nonatomic, strong) User *user;
@end
ben eklemek için NSMutableSet kullanılan benzer sorular bulundu, ancak ben bir NSMutable Array için aynı uygulamaya kuramıyorum. Ben JSON aracılığıyla Restaurant ve yorumlar için veri almak ve CORE Veritabanı bunları kaydetmeden önce geçici sınıflar saklayabilirsiniz
NSManagedObjectContext *context = [self managedObjectContext];
Restaurant *rest = [NSEntityDescription insertNewObjectForEntityForName:@"Restaurant" inManagedObjectContext:context];
rest.name = restaurant.name;
: gibi
anda benim yerleştirme kodu görünüyor. Bir ile Çok İlişkisi olan verileri nasıl ekleyebilirim?
DÜZENLEME: anda I çekirdek veri modeli eklemek için bu aynı sınıf uygulamak çalışıyorum
NSMutableArray *user_reviews;
olarak user_review özelliğini tanımlayan bir sınıf biçiminde veri alır. Ancak çekirdek veri modeli, NSMutableArray yerine NSSet kullanır. Bir kaba yaklaşım, NSMutableArray kullanmak yerine tüm sınıfları aynı özelliklerle çoğaltmak, NSSet olarak değiştirmektir. Ancak, bu büyük miktarda gereksiz kod oluşturur. Bunu yapmanın daha verimli bir yolu olmamalı mı? senin İnceleme senin coreDataModel bir ilişki olacaktır eğer
Doğru, sadece kodunuzu bu kısımda kopyala/yapıştırın^^ NSObjects' değil, “NSManagedObjects” ile ilgili bir sorun var mı? Bu çözüme karşı bir gerekçe varsa, lütfen bana söyleyin :) – geo
* "... hatırladığım kadarıyla" * - Bu * doğrudur * Restoran.user_reviews ve Review.restaurant ** ters ilişkiler olarak düzenleniyorsa * * Ekran görüntüsü belirttiği gibi. –
Sorun bu. İlk önce tüm verileri bir API'den online olarak RestKit 0.20 yardımıyla yüklüyorum. Restkit, tüm İlişkileri bir NSSet yerine bir dizide yükler. Restkit'in verileri yüklemek/eşlemek için "Restaurant.h" için bir sınıf tanımladım. Şimdi, verileri Çevrimdışı erişim için kullanılabilir olacak şekilde Çekirdek Veri Modeli'ne yükleyerek depolamaya çalışıyorum. Ama bunu yapmak için her varlık için sınıfları oluşturmam gerekiyor. NSMutableArray ve NSSet dışında her şey aynı olduğu için RestKit API'si için yaptığım sınıfları yeniden kullanıyorum. – Kyuubi