伙计们,我需要ObjectiveC和UITabBarController的帮助。
我有2个具有相同(我希望)功能的代码。但仅适用于第二个。该任务是动态创建viewControllers数组并将其分配给UITabBarController viewControllers属性。
我有从UITabBarController继承的DZCustomTabBarController。
@interface DZCustomTabBarController : UITabBarController
@end
和属性
@property (nonatomic, strong) NSMutableArray *controllers;
指向我这样动态创建的viewControllers。一切都在viewDidLoad方法中发生
下面的代码不起作用
NSArray *titles = @[@"first", @"second"];
for (NSString *title in titles) {
DZViewController *controller = [[DZViewController alloc] init];
controller.title = title;
[self.controllers addObject:controller];
}
self.viewControllers = self.controllers ;
我不知道为什么。
但是这段代码有效。
DZViewController *firstViewController = [[DZViewController alloc] init];
firstViewController.title = @"first";
DZViewController *secondViewController = [[DZViewController alloc] init];
secondViewController.title = @"second";
self.viewControllers = @[firstViewController, secondViewController];
我在Objective C方面并不先进,所以需要您的帮助。我认为这行代码
[self.controllers addObject:controller];
中的问题 最佳答案
我认为,您的controllers
属性未初始化使用。在使用插入循环之前,请尝试执行self.controllers = [NSMutableArray array];
。祝好运!
关于ios - UITabBarController viewControllers奇怪的行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25846059/