2012-01-16 13 views
0

在我的应用程序中,我将UIViewController从.plist加载到数组中,然后,我需要将这些VC取出。问题是,既然VC的数量并不总是相同的,那么我不知道每次出去有多少人。所以我正在寻找一个更好的engeneered解决方案 - 更好的迭代,而不是硬编码。从数组中取出未定义数量的ViewController

例如:

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

你想要的语法是这样的:

[[CustomSubClass alloc] initWithViewControllers:[views objectAtIndex:0], [views objectAtIndex:1], [views objectAtIndex:2], nil]; 

基本上只是重复必须用逗号分隔的所有参数,那么总有最后一个参数是零。

+0

但问题是有时它可能是8个项目,有时可能是20.所以我在寻找一种方式,电脑可以看到项目的数量,然后把正确的数字,而不是硬编码 – Andrew 2012-01-16 22:34:41

0

的观点是一个数组,你可以直接通过这个像这样的参数:

 myIvar = [[CustomSubClass alloc] initWithViewControllers:views];