Как мне создать детальное представление для моего UITableView, чтобы позволить мне редактировать данные в Core Data? - PullRequest
0 голосов
/ 27 апреля 2011

Я новичок в iOS, Objective-C и до этого занимался только небольшим количеством ОО-программирования, но мне нравится пытаться создать это приложение.

Резюме приложения: У меня есть представление, которое является просто формой для ввода информации в базу данных Core Data, например. Имя, адрес и телефон. Затем другое представление, которое содержит табличное представление, в котором перечислены все имена людей, которые в настоящее время находятся в базе данных.

Однако это то, где я застрял ...

Я создал подробное представление, так что когда пользователь выбирает ячейку таблицы, подробное представление загружается, но я хочу получить данные из базовых данных обратно в форму, которую они использовали для первоначального ввода данных, чтобы их можно было изменить / отредактировать и повторно сохранен обратно в Базовые Данные.

Как лучше всего это делать?

Мне нужно будет передать некоторые данные в детальное представление, которые знают, как это сделать, но что я должен передать? как сообщить подробное представление, какую строку данных в базе данных Core Data я хочу загрузить?

Должен ли я передать табличное представление indexPath.row? это соответствует чему-либо, что я могу отфильтровать в CoreData при загрузке подробного представления?

Заранее спасибо всем, кто ответит, был бы признателен за любую помощь, начиная с методологии и заканчивая онлайн-обсуждениями

Мэтт

Ответы [ 2 ]

1 голос
/ 27 апреля 2011

Я думаю, вы можете увидеть пример кода Apple здесь: Пример кода CoreRecipes

0 голосов
/ 02 мая 2011

Выбирая биты из примера кода CoreRecipes, как было предложено TheRonin, я сделал следующее.

Создайте iVar объекта Core-Data DataModel в DetailViewController

DataStore *enquiry;

В представлении таблицы.при настройке didSelectRowAtIndex объект Core-Data DataModel и контроллер подробного просмотра

DataStore *enquiry = (DataStore *)[_fetchedResultsController objectAtIndexPath:indexPath];

ShowEnquiryDetail *detailViewController = [[ShowEnquiryDetail alloc] initWithNibName:@"ShowEnquiryDetail" bundle:nil ];

установите объект модели данных в DetailViewController

detailViewController.enquiry = enquiry;

, а затем вставьте контроллер подробного просмотра в стек навигации.

[self.navigationController pushViewController:detailViewController animated:YES];

Затем в DetailViewController вы можете получить доступ к данным в объекте DataModel из выбранной строки в Core-Data, используя enquiry.name, enquiry.email и т. Д. ...

Thisне является хорошо написанным ответом и может использовать неправильную терминологию, но, надеюсь, это поможет кому-то в том же положении, что и я.

...