2012-01-16 12 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];