Опитвам се да предам някои данни между моите виждания влентата на разделите. първият ми изглед е в състояние да зареди данните от моя модел и да ги манипулира. Но когато натисна втория или третия раздел в контролера на лентата с инструменти, данните не се предават. Ето как се опитвам да го предам.
-(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;
}
}