Сначала я предполагаю, что вы имели в виду:
[self.tabBarController setSelectedIndex:1];
Если это не похоже на проблему с вашими _tabBarControllers.
что означает следующий вывод:
NSLog(@" _tabBarControllers count = %d", [_tabBarControllers count]);
NSArray* newArray = [NSArray arrayWithArray:self.tabBarController.viewControllers];
NSLog(@" newArray count = %d", [newArray count]);
EDIT:
Успешно ли удаляет первую вкладку следующее без проблем?
NSMutableArray* newArray = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers];
[newArray removeObjectAtIndex:0];
[self.tabBarController setViewControllers:newArray animated:YES];
РЕДАКТИРОВАТЬ 2:
попробуйте изменить:
[muteArray addObjectsFromArray:_navigationCotroller.viewControllers];
online.tabBarControllers = [muteArray copy];
[muteArray replaceObjectAtIndex:1 withObject:online];
до:
[muteArray addObjectsFromArray:self.tabBarController.viewControllers];
[muteArray replaceObjectAtIndex:1 withObject:online];
online.tabBarControllers = [muteArray copy];
Если честно, мне сложно следить за структурой вашего приложения и ссылками на объекты.