在for循环中创建动态不同的(UIViewcontroller)实例名称?

问题描述 投票:0回答:1

我想创建一个我的类ViewControllersSlideViewController数组并循环遍历它们为它分配不同的变量名称或循环遍历列表并动态地为我的SlideViewController分配不同的名称,其数组索引如下所示:

for (int i=0; i<[_jsonArray count]; i++) {
    NSDictionary *dict = _jsonArray[i];

    SlideViewController *firstViewController = [[SlideViewController alloc] initWithNibName:@"SlideView" bundle:nil];

    //i want to do like this --- SlideViewController *firstViewController[i] = [[SlideViewController alloc] initWithNibName:@"SlideView" bundle:nil]; 

    NSLog(@"weekly Question.... %@",[dict objectForKey:@"weeklyquestion"]);

    firstViewController.question.text = [dict objectForKey:@"weeklyquestion"];

    [stepsArray addObject:firstViewController];
}

JJGMPageViewController *pageViewController = [[JJGMPageViewController alloc] init];

pageViewController.delegate = self;

[pageViewController addViewControllers:stepsArray];
[self presentViewController:nav animated:YES completion:nil];

以上不是将问题分配给我的firstViewController.question.text并且它覆盖了相同的实例。

ios objective-c uipageviewcontroller
1个回答
0
投票

从我在这一行上看到的firstViewController.question.text = [dict objectForKey:@"weeklyquestion"];,您要么设置UILabel或UITextView的文本属性。但是,UILabel或UITextView都不能在该状态下初始化。

因此,在NSString中声明一个SlideViewController属性,并在for循环中设置其值。然后在你的SlideViewControllerviewDidLoad方法中,将NSString设置为你的标签或textview的text属性。

© www.soinside.com 2019 - 2024. All rights reserved.