iOS Çekirdek Verileri varlık ilişkilerini düzgün şekilde nasıl başlatabilir?

Temel veri modelimde bir çok ilişki var. Yeni bir varlık oluşturmalı ve kaydetmeliyim. Varlık, aşağıdaki kodu oluşturan bir çok ilişki var:

- (void)addRelationshipEvent1:(NSSet *)values;
- (void)removeRelationshipEvent1:(NSSet *)values;

.

        NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
        NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
        ApplicationRecord *newManagedObject = (ApplicationRecord*)[NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];


        newManagedObject.startDate = [NSDate date];
        newManagedObject.stopDate = [[NSDate date] dateByAddingTimeInterval:120];

// bireysel dinamik özellikler eklemeye devam et

is it correct to set the -toMany relationship sets to nil initially? Or do I need to initialize an (empty?) set here and assign it? Would I be able to add extra objects later if I set the initial set to nil?

        newManagedObject.relationshipEvent1  = nil;
        newManagedObject.relationshipEvent2 = nil;
    //...

       //Save the context.
        NSError *error = nil;
        if (![context save:&error])
        {
            /*
             Replace this implementation with code to handle the error appropriately.

             abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. If it is not possible to recover from the error, display an alert panel that instructs the user to quit the application by pressing the Home button.
             */
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();

        }
2

1 cevap

Alex,

İlişkilerini aramana gerek yok. Sadece sağlanan erişimcileri veya yardımcı fonksiyonları kullanın ve Çekirdek Veriler bununla ilgilenir. IOW, sadece gerçekten kullanmanız gerektiğinde özellik/ilişki hakkında endişelenir.

Andrew

3
katma
Hızlı cevap için teşekkürler! Şimdi ilişkinin işaret ettiği verilerin ne zaman kaydedileceğini anlamaya ihtiyacım var stackoverflow.com/questions/7921713/…
katma yazar Alex Stone, kaynak