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

Create dynamically different (UIViewcontroller) instance names in for loop?

我想为我的 class SlideViewController 创建一个 ViewControllers 的数组并循环遍历它们以为其分配不同的变量名称或循环遍历列表并动态分配不同的名称到我的 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,而是覆盖了相同的实例。

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

因此,改为在 SlideViewController 中声明一个 NSString 属性 并在 for 循环中设置它的值。然后在您的 SlideViewControllerviewDidLoad 方法中,将 NSString 设置为您的标签或文本视图的 text 属性。