我想知道如果我知道某个类的名称,是否可以创建该类的对象

大概是这样的:

NSString *className = @"AwesomeViewController";
UIViewController *object = [[className alloc] initWithNibName:className bundle:nil];

推荐答案

类也是Objective-C中的第一类对象.您可以从NSString中获取类对象,并使用NSClassFromString function.

[[NSClassFromString(className) alloc] init...]

Objective-c相关问答推荐

Objective-C:为什么[对象复制]的两个请求返回相同的结果?

具有自定义视图的相机

在 iOS 中检测 PAN 手势的方向

如何可靠地检测 iOS 9 上是否连接了外部键盘?

在 Objective-C 中实现纯虚方法

Objective C for循环中断并继续

go 掉 UISearchBar 下的 1px 边框

如何更改图像 tintColor

Objective-C (cocoa) 等价于python的endswith/beginswith

try 标记应用程序图标但未获得用户标记应用程序的权限:iOS 8 Xcode 6

如何在 iPhone 上显示来自 API 的 HTML 文本?

如何测试生产推送通知?

如何在 UIImageView 中显示 base64 图像?

UIWebView didFinishLoading 多次触发

导航返回时重新加载 UITableView?

通过点击状态栏滚动到 UITableView 的顶部

所有异常断点在模拟器上无缘无故停止

UIPageViewController,如何在不打乱数据源指定顺序的情况下正确跳转到特定页面?

Objective-C:如何向 NSURL 添加查询参数?

使用 [NSDate date] 获取当前日期和时间