如何在 Objective C 中创建宏以在运行时执行许多模块



在此源代码中是模块FirstDetailViewController 的链接

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

我想要一个字符串

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

我想将字符串模块转换为代码以在运行时更改

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"];
…;

如何使用变量模块来实现这一点?

试试这个:

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

最新更新