伙计们,我需要你对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];
我没有达到目标C,所以我需要你的帮助。我认为这行代码中存在问题[self.controllers addObject:controller];
答案 0 :(得分:1)
我认为,您的controllers
属性未经初始化使用。在使用for-in循环之前尝试执行self.controllers = [NSMutableArray array];
。祝你好运!