Это хорошая ситуация, когда вы будете использовать отношения Core Data.
Обычная документация Apple (https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html) даст вам хорошее представление о том, как она работает.
Короче говоря, для отношений вы можете указать правило удаления.В вашем случае вы, вероятно, выбрали бы «Обнулить».Это означает, что если вы удалите таблицу, свойство table вашего Person станет нулевым, указывая на то, что ваше лицо больше не сидит на столе.
Edit: Вы также можете указать «Cascade», который будет удалятьчеловек вместе со столом (довольно бессмысленная, но слегка забавная мысль).Или вы можете указать «Запретить», который прервет удаление, если хотя бы один человек все еще сидит за столом.
Пример:
Предположим, у вас есть две сущности, «TableInfo» и «PersonInfo».«PersonInfo» имеет отношение , называемое «таблицей», «TableInfo» имеет отношение , называемое «персоной».«table» - это отношение «один к одному» с «TableInfo» в качестве цели."people" - это отношение "многие-многие", а "PersonInfo" - это цель.
Теперь установите "Обратное отношение" "персоны" в "таблицу".«Обратные отношения» в «таблице» будут автоматически установлены на «персоны».
Если вы позволите CoreData генерировать подклассы вашей модели (вы должны!), Вы получите такой класс:
@interface TableInfo : NSManagedObject
@property (nonatomic, retain) NSSet *persons;
@end
@interface TableInfo (CoreDataGeneratedAccessors)
- (void)addPersonsObject:(PersonInfo *)value;
- (void)removePersonsObject:(PersonInfo *)value;
- (void)addPersons:(NSSet *)values;
- (void)removePersons:(NSSet *)values;
Как видите, CoreData автоматически создает подходящие средства доступа для вас.Просто используйте их.
Теперь вы можете делать следующее:
TableInfo* myTable = [NSEntityDescription insertNewObjectForEntityForName:@"TableInfo" inManagedObjectContext:self.managedObjectContext];
PersonInfo* myPerson = [NSEntityDescription insertNewObjectForEntityForName:@"PersonInfo" inManagedObjectContext:self.managedObjectContext];
[myTable addPersonsObject:myPerson];
NSLog(@"%@", myPerson.table); // will be your TableInfo object "myTable"
Короче, пожалуйста, прочитайте документацию, которую я привел выше, там и в Интернете есть множество примеров.Не стесняйтесь задавать вопросы по SO, но для «основных» потребностей учебники в Интернете будут более полными и полезными.