В настоящее время я работаю над тестовым проектом, в котором есть панель вкладок, список развернутых таблиц Округа -> Школы -> Сведения о школе.
В хранилище данных используются основные данные / .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,я бы просто поменял "Район" на "Школа" и отсортировал описание с названием школы.