UITabBarController viewControllers奇怪的行为

时间:2014-09-15 10:34:43

标签: ios objective-c ios7

伙计们,我需要你对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];

1 个答案:

答案 0 :(得分:1)

我认为,您的controllers属性未经初始化使用。在使用for-in循环之前尝试执行self.controllers = [NSMutableArray array];。祝你好运!