【问题标题】:Instantiate Class object by its name按名称实例化 Class 对象
【发布时间】:2015-01-22 10:09:34
【问题描述】:

我想通过使用其唯一的类名来实例化一个类对象。首先我创建一个像这样的 NSString 对象

for (i = 1; i <= count; i++)
    NSString *abc = [NSString stringWithFormat:@"item%i",i];

如何使用上面的 NSString 对象创建一个类对象:

myClass *abc;

【问题讨论】:

  • id object = [[NSClassFromString(@"NameofClass") alloc] init];
  • 您可以在 NSDictionary 中添加您的对象,其中包含您在循环中创建的字符串的键。
  • 你能告诉我该怎么做吗?其实我是新人
  • @user2966615 因为您是新手,您可能会参加错误的方法,请先解决问题,为什么要这样做?
  • 如果我确实正确理解了您的问题,那么答案是肯定的!您可以创建一个作为 NSString 子类的类。界面类似于:@interface yourClass : NSString.

标签: ios objective-c iphone xcode nsstring


【解决方案1】:

从字符串中获取类:

Class cl = NSClassFromString(@"YourClass");

从现有变量中获取类:

Class cl = [obj class];

创建一个对象:

YourClass *myClass = (YourClass *)[cl new];

【讨论】:

    猜你喜欢
    • 2015-07-18
    • 2014-03-03
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多