Я пытаюсь создать цикл
for (int i = 0; i < [tabNumbers count]; i++)
{
UIViewController *viewController;
viewController = [[UIViewController alloc] init];
viewController.title = [tabNumbers objectAtIndex:i];
viewController = [tabNumbers objectAtIndex:1];
[viewControllersList addObject:viewController];
[viewController release];
}
Но проблема в том, что когда я добавляю массив просмотра, я получаю набор контроллеров представления со случайными именами.
Вместо
UIViewController *viewController;
Я пытаюсь сделать что-то подобное
UIViewControlller *[NSString stringWithFormat:@"%@Controller",[tabNumbers objectAtIndex:i]]
Но это не работает
Причина в том, что, как только я создал представления в цикле, я хочу создать панель вкладок, в которой каждое представление является вкладкой, а затем каждая вкладка вызывает свой собственный контроллер представления
В данный момент я не могу вызвать контроллеры представления, так как не знаю, какое случайное число будет генерироваться каждый раз.
Спасибо
Bob
Ух ты - два фантастических и быстрых ответа.
К сожалению, я довольно новичок в Xcode и не тороплюсь. Я подумал, что если я отправлю полный код, это может помочь мне объяснить, что я пытаюсь сделать.
Таким образом, идея заключается в том, что пользователь может добавлять, удалять, перемещать или переименовывать элементы панели вкладок по своему усмотрению.
Суть в том, что я могу добавить элементы панели вкладок, но не могу получить элементы панели вкладок для создания новых таблиц.
Я знаю, что код является правильным для создания элементов панели вкладок - я могу добавить столько элементов панели вкладок, сколько захочу.
Я знаю, что если я нарисую только один элемент панели вкладок, я смогу нарисовать таблицу
Но я не могу получить несколько элементов панели вкладок, чтобы нарисовать таблицу.
Я думал, что лучшим способом было бы динамически назвать контроллер представления, который вы, ребята, показали мне, невозможен.
Поэтому следующей мыслью было попытаться получить его из массива, но, учитывая, что массив также будет меняться в зависимости от того, что пользователь делает имя панели вкладок, я не вижу, как это может работать.
Есть предложения?
Пожалуйста, если возможно, включите некоторые фрагменты кода - я начинаю понимать код, когда читаю его, но я не понимаю определения, которые объясняют (например, тег для контроллера представления)
Спасибо
Bob
- (void)showTabBar
{
GuidelinesAppDelegate *AppDelegate = (GuidelinesAppDelegate *)[[UIApplication sharedApplication] delegate];
NSMutableArray *viewControllersList = [[NSMutableArray alloc] init];
NSMutableDictionary *tabItemsDict = [[NSMutableDictionary alloc] initWithObjects:tabNumbers forKeys:tabNumbers];
NSString *Path = [[NSBundle mainBundle] bundlePath];
NSString *DataPath = [Path stringByAppendingPathComponent:@"data.plist"];
UIViewController *viewController;
for (int i = 0; i < [tabNumbers count]; i++)
{
viewController = [[UIViewController alloc] init];
viewController.title = [tabNumbers objectAtIndex:i];
[viewControllersList addObject:viewController];
[viewController release];
}
AppDelegate.tabItemsDict = tabItemsDict;
[self.tabBarController setViewControllers:viewControllersList animated:YES];
for (NSString *s in viewControllersList)
{
RootViewController *rootViewController = [[RootViewController alloc] initWithStyle:UITableViewStylePlain];
NSMutableDictionary *tabTableStructureDict = [[NSMutableDictionary alloc] initWithContentsOfFile:DataPath];
AppDelegate.tabTableStructureDict = tabTableStructureDict;
UINavigationController *bNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
self.navigationController = bNavigationController;
[self.view addSubview:[navigationController view]];
[bNavigationController release];
[rootViewController release];
}
}