Слава Богу !!!Это сработало.Я допустил (я уверен в этом) ошибку Core Data новичка в моей модели данных.
Я получал дубликаты в симуляторе (а также в телефоне) из-за этой ошибки:
В модели данных у меня есть сущность для лекарств и всех атрибутов, бла, бла, бла.Я создал класс и решил использовать именно этот класс, чтобы разделить 3 вида таблицы, текущие лекарства, прошлые лекарства и аллергии.При этом естественно не было никакой дифференциации.Я вернулся, создал новую модель, объединил yada, yada и добавил 3 новых объекта для текущего, прошлого и аллергий.Затем установите там родительскую сущность в основную медицинскую сущность и абстрагируйте родителя.Когда я снова прошел и переработал код для новых сущностей.Все работало!Нет больше дублирования.Ну, на самом деле, больше не нужно трижды дублировать.
Предупреждение, которое я получал (не ошибка, приложение все еще строилось, не вылетало, и вы все еще могли работать через него), касалось контекста управляемого объекта.Чтобы заставить замолчать печально известную ошибку + entityForName, я попробовал кое-что, что я видел в книге или в Apple.Я импортировал AppDelegate в каждую из моих таблиц и в fetchedResultsController сделал это:
- (NSFetchedResultsController *)fetchedResultsController {
MIT2AppDelegate *mit = [[MIT2AppDelegate alloc] init];
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
//if (fetchedResultsController == nil) {
// Create the fetch request for the entity.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
// the entity name
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Allergies" inManagedObjectContext:mit.managedObjectContext];
[fetchRequest setEntity:entity];
При переработке кода я попробовал то, что рекомендовал tomasBULL: Как мне решить NSInternalInconsistencyException ', причина:' + entityForName:отчет об ошибках
Вот откуда пришла ошибка.Так что я вернулся к тому, что у меня было раньше и сейчас, больше ошибок нет.
Я делаю это в моем AppDelegate managedObjectModel
- (NSManagedObjectModel *)managedObjectModel{
if (managedObjectModel != nil){
return managedObjectModel;
}
NSString *path = [[NSBundle mainBundle] pathForResource:@"MIT2ver 3" ofType:@"mom" inDirectory:@"MIT2ver2.momd"];
NSURL *momURL = [NSURL fileURLWithPath:path];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL];
return managedObjectModel;
}
Потому что раньше я делал еще одну ошибку новичка, когда добавилмодель я вынул пространство.Благодаря ответу udibr: Реализация «Автоматической облегченной миграции» для базовых данных (iPhone)
Спасибо всем, кто ответил.БОГ сработал!