iphone / ipad с двумя соседними столами - PullRequest
0 голосов
/ 01 мая 2010

Я хочу создать альбомный вид с двумя табличными видами бок о бок, используя отдельные контроллеры таблиц.

Когда я выбираю строку, я хочу переместить это выделение в другую таблицу. Первоначально я хотел массив, но я не мог передать массив другому контроллеру. Массив был свойством контроллера табличного представления.

Затем я попытался записать выборку в основные данные, но это не помогло. Для упрощения у меня есть 2 сущности в основных данных: Person (с атрибутом name и с одним отношением) и SelectedPerson (только с отношением to one к Person).

Я добавил следующее:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    Person *person = (Person *)[fetchedResultsController objectAtIndexPath:indexPath];
    SelectedPerson *selectedPerson = [NSEntityDescription insertNewObjectForEntityForName:@"SelectedPerson"
                              inManagedObjectContext:managedObjectContext];
    [selectedPerson setValue:person forKey:@"persons"];
    [leftViewController.tableView reloadData];
    NSLog(@"Selection saved OK");

Если я временно удаляю свой левый контроллер из пера, это работает нормально, и когда я добавляю его обратно, он открывается с выбранными людьми. Но при просмотре левой таблицы я получаю следующий журнал аварий:

[49650:207] Record saved OK
[49650:207]-[Person compare:]: unrecognized selector sent to instance
[49650:207] Serious application error.  Exception was caught during Core Data change processing: -[Person compare:]: unrecognized selector sent to instance 0x3d33ef0 with userInfo (null)

*** Я загрузил пример приложения здесь текст ссылки

Я видел приложения, которые используют бок о бок, но я изо всех сил пытаюсь заставить это работать. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 09 мая 2010

Я понял - я не создал controllerDidChangeContent в правильном контроллере вида.

Я подумал, потому что я обновлял объект, отличный от `fetchedResultsController ', он не был нужен, но оказалось, что это так. Вероятно, из-за обратной связи. Спасибо за помощь.

0 голосов
/ 01 мая 2010

Чтобы обновить представление таблицы, просто отправьте ему сообщение reloadData.

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