2012-07-08 51 views
0

在這個源代碼是如何在Objective C中創建宏以在運行時執行多個模塊?

FirstDetailViewController *newDetailViewController = [[FirstDetailViewController alloc] initWithNibName:@"FirstDetailView" bundle:nil]; 
detailViewController = newDetailViewController; 

我想一個鏈接模塊FirstDetailViewController一個字符串

module = [[NSString] alloc] initWithString:@"SecondDetailViewController"]; 

我想字符串轉換模塊在運行時代碼彌補ALTER

module *newDetailViewController = [[module alloc] initWithNibName:module bundle:nil]; 
detailViewController = newDetailViewController; 

模塊名稱很多

module = [[NSString] alloc] initWithString:@"ClientDetailViewController"]; 
…; 
module = [[NSString] alloc] initWithString:@"FriendDetailViewController"]; 
…; 
module = [[NSString] alloc] initWithString:@"FishDetailViewController"]; 
…; 

如何使用可變模塊來實現這一點?

+0

就像一個音符。 'module'不能用於類名和nib名,因爲它們在你的例子中是不同的。 – Alladinian 2012-07-08 19:49:43

回答

1

試試這個:

UIViewController* newDetailViewController = [[NSClassFromString(module) alloc] initWithNibName:module bundle:nil];