/ / Опитвате се да предавате данни между контролерите на лентата за табулации - ios, objective-c, tabview

Опитвате се да предавате данни между контролерите на лентата на лентата - ios, objective-c, tabview

Опитвам се да предам някои данни между моите виждания влентата на разделите. първият ми изглед е в състояние да зареди данните от моя модел и да ги манипулира. Но когато натисна втория или третия раздел в контролера на лентата с инструменти, данните не се предават. Ето как се опитвам да го предам.

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{

if (tabBarController.selectedIndex == 1){
HashTagTableViewController *hash [[HashTagTableViewController alloc]init];
hash.userArray = feed.userArray;
}else if (tabBarController.selectedIndex == 2){
PhotoTagTableViewController *photo = [[PhotoTagTableViewController alloc]init;
photo.userArray = feed.userArray;

}

}

feed е името на моя моделклас I, създаден в контролера за текущ изглед. Опитвам се да избегна няколко случая на модела клас, тъй като той трябва да направи множество повиквания към API. Всичко, което се опитвам да направя, е да премине feed.userArray към различните гледни точки да бъдат манипулирани по различен начин.

Отговори:

3 за отговор № 1

Не създавайте контролери за преглед в този метод. UITabBarController автоматично създава всички контролери за преглед при първоначалното им създаване. Опитайте това вместо това:

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
if (tabBarController.selectedIndex == 1){
HashTagTableViewController *hash = (HashTagTableViewController *) viewController;
hash.userArray = feed.userArray;
}else if (tabBarController.selectedIndex == 2){
PhotoTagTableViewController *photo = (PhotoTagTableViewController *)viewController;
photo.userArray = feed.userArray;
}
}

0 за отговор № 2

Създавате нов пример за ViewController. Вместо това трябва да получите избрания контролер на изгледа от масива ViewController на TabBarController. Промених кода си, затова проверете го по-долу.

ЗАБЕЛЕЖКА:

Моля, разрешете имената на грешките / методите. Защото пиша това в бележника. Не в xcode.

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if([viewController isKindOfClass: [HashTagTableViewController class]])
{
HashTagTableViewController *hash = (HashTagTableViewController) viewController;
hash.userArray = feed.userArray;
}
else if([viewController isKindOfClass: [PhotoTagTableViewController class]])
{
PhotoTagTableViewController *photo = (PhotoTagTableViewController) viewController;
photo.userArray = feed.userArray;
}
}