在我的应用程序中,我将UIViewController从.plist加载到一个数组中,然后,我需要将这些VC输出。问题是,由于VC的数量并不总是相同,所以我不知道每次有多少VC出来。所以我正在寻找一种更好的改进解决方案 - 更好的迭代,而不是硬编码。
例如:
NSMutableArray *views = [[NSMutableArray alloc] init];
for (int i = [currentList count]; i > 0; i--) {
UIViewController *view = [[UIViewController alloc] init];
view.title = [NSString stringWithFormat:@"dgdg - %i", i];
[views addObject:view];
}
所以有我的VC阵列,现在:
myIvar = [[CustomSubClass alloc] initWithViewControllers:**help** nil];
我试过了:
myIvar = [[CustomSubClass alloc] initWithViewControllers:[views copy], nil];
和
myIvar = [[CustomSubClass alloc] initWithViewControllers:[NSIndexSet..., nil];
我试过了:
myIvar = [[CustomSubClass alloc] initWithViewControllers:[views objectAtIndex:0]... nil];
但没有一个有效。提前谢谢。
答案 0 :(得分:0)
您想要的语法是这样的:
[[CustomSubClass alloc] initWithViewControllers:[views objectAtIndex:0], [views objectAtIndex:1], [views objectAtIndex:2], nil];
基本上只需重复用逗号分隔所有参数,然后总是将最终参数设为nil。
答案 1 :(得分:0)
views是一个数组,您可以直接将其作为参数传递:
myIvar = [[CustomSubClass alloc] initWithViewControllers:views];