在 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
循环中设置它的值。然后在您的 SlideViewController
的 viewDidLoad
方法中,将 NSString
设置为您的标签或文本视图的 text
属性。
我想为我的 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
循环中设置它的值。然后在您的 SlideViewController
的 viewDidLoad
方法中,将 NSString
设置为您的标签或文本视图的 text
属性。