Развернутое приложение / Основные данные + UITable View + Custom Cell - PullRequest
0 голосов
/ 22 сентября 2010

В настоящее время я работаю над тестовым проектом, в котором есть панель вкладок, список развернутых таблиц Округа -> Школы -> Сведения о школе.

В хранилище данных используются основные данные / .mysqlite

** Представление округов - это простой список таблиц, в котором перечислены районы
*** Представление школ - это табличное представление с настраиваемой ячейкой, в которой отображаются название, адрес и изображение школ в выбранном районе
*** Подробное представление - это секционированная таблица с более подробной информацией о выбранной школе.

Мне удалось настроить и отобразить представление таблицы округа, но я застрял при нажатии на 2-й вид, который является школойПосмотреть.Как я могу передать данные во 2-й вид или переключить объект Fetch Result?Я пытался с другим методом, но он имеет ошибку, возможно, это потому, что я использую неправильный метод или что-то пропустил в didSelectRow

Завершение приложения из-за необработанного исключения 'NSInternalInconsistencyException', причина: '+ entityForName: не удалосьнайдите NSManagedObjectModel для имени сущности «Школа»

Я не смог выяснить, в чем проблема.Было бы замечательно, если бы кто-нибудь мог дать мне несколько советов по этому поводу.

DistrictListTableViewController - FRO, MOC, выбирающий "District"
NSEntityDescription * entity = [NSEntityDescription entityForName: @ "District"inManagedObjectContext: managedObjectContext];[fetchRequest setEntity: entity];

@ class District;

@ interface DistrictListTableViewController: UITableViewController {@private NSFetchedResultsController * fetchedResultsController;NSManagedObjectContext * managedObjectContext;}

@ property (nonatomic, retain) NSFetchedResultsController * fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext * managedObjectContext;

Schoolont LOCвыборка "School"
NSEntityDescription * entity = [NSEntityDescription entityForName: @ "School" inManagedObjectContext: managedObjectContext];[fetchRequest setEntity: entity];

@ class School;

@ interface DistrictListTableViewController: UITableViewController {@private NSFetchedResultsController * fetchedResultsController;NSManagedObjectContext * managedObjectContext;}

@ property (nonatomic, retain) NSFetchedResultsController * fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext * managedObjectContext;

* ControllerTontrollerTontroller.файлы практически одинаковы, за исключением того, что School View загружает файл SchoolTableViewCell, я не знаю, является ли это правильным методом.

- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath****

Я довольно новичок в этом, поэтому, пожалуйста, скажите мне, где я поступил неправильно и как правильно передать сущность и данные во 2-е представление и как.

Спасибоочень много.

спасибо, и это моя часть fetchedcontroller

> - (NSFetchedResultsController *) fetchedResultsController {

if (fetchedResultsController != nil) {
    return fetchedResultsController;
}


NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"District" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];


NSSortDescriptor *locateDescriptor = [[NSSortDescriptor alloc] initWithKey:@"territory" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:locateDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];


NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"territory" cacheName:@"Root"];
self.fetchedResultsController = aFetchedResultsController;
fetchedResultsController.delegate = self;


[aFetchedResultsController release];
[fetchRequest release];
[locateDescriptor release];
[sortDescriptors release];

return fetchedResultsController;

}

так, в контроллере School,я бы просто поменял "Район" на "Школа" и отсортировал описание с названием школы.

1 Ответ

0 голосов
/ 22 сентября 2010

Исключение, которое вы видите entityForName: could not locate an NSManagedObjectModel for entity name 'School', говорит о том, что Core Data не удалось найти определение для модели School, поэтому прежде чем делать что-либо еще, знайте, что вам сначала нужно решить эту проблему.

Это может помочь увидеть ваш код для fetchedResultsController, чтобы мы могли видеть, как вы создаете экземпляр ivar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...