tableView и обычный вид (один и тот же объект данных) - PullRequest
1 голос
/ 10 сентября 2009

Я не знаю, как я могу разделить одни и те же данные между двумя элементами панели вкладок. Одна вкладка использует nsfetchedresultscontroller, а другая таблица представляет собой обычное представление, которое должно использовать те же данные, что и мой fetchedresultscontroller.

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

Но теперь у меня есть контроллер fetchresults и обычный вид. Я думал о том, чтобы просто использовать другой контроллер fetchedresults для моего обычного просмотра, поэтому у меня есть все функции, такие как кэш выборки, уведомления и тому подобное.

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

Кто-нибудь знает, что я должен делать? Я не смог найти документацию от Apple по этому вопросу.

1 Ответ

0 голосов
/ 10 сентября 2009

Ваши данные должны иметь отношение к вашим viewControllers или представлениям, то есть, если вы следуете стилю MVC. Если ваши данные доступны только в одном viewController и вы не хотите извлекать их в свой собственный класс, предоставьте методы в вашем viewController, которые могут вызываться другим viewController для получения данных.

Например, есть такие методы:

- (NSString) getNameOfSelectedUserAtIndex:(int) index;
- (int) getCountOfSelectedUsers;
- (NSSArray) getResults;

А затем из вашего другого viewController позвоните:

string = [fetchedresultscontroller getNameOfSelectedUserAtIndex:i];
count = [fetchedresultscontroller getCountOfSelectedUsers];
array = [fetchedresultscontroller getResults];

Вы должны убедиться, что вы добавили fetchedresultscontroller в качестве переменной экземпляра для вашего другого viewController и установите его, вероятно, в его viewDidLoad.

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