ОК, очень старый вопрос, но вот как бы я решил его сейчас.
Не все отношения должны быть заполнены. Сохраняйте свои обратные (двусторонние) отношения, но вам не обязательно связывать их.
+ (void)createRestaurantWithCompletion:(void (^)(BOOL, NSError *))completion {
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
Restaurant *localRestaurant;
LatitudeLongitude *localLatLng1;
LatitudeLongitude *localLatLng2;
restaurant = [Restaurant MR_createInContext:localContext];
localLatLng1 = [LatitudeLongitude MR_createInContext:localContext];
localLatLng2 = [LatitudeLongitude MR_createInContext:localContext];
restaurant.latLng = localLatLng1;
} completion:completion];
}
К тому времени, когда вызывается completion
, существуют и localLatLng1
, и localLatLng2
, один связан с рестораном, другой нет.
Конечно, этот метод не имеет смысла в этой форме, он просто доказывает, что вы можете создавать объекты, не удовлетворяя их отношениям.
Z.