【问题标题】:How can I get the class object, when I only know the classname at runtime当我在运行时只知道类名时,如何获取类对象
【发布时间】:2009-04-15 14:10:29
【问题描述】:

我需要从一个包含运行时类名的字符串中取出类对象。我找到了一个名为 objc_getClass 的函数,但我不确定它是否真的是我搜索的内容。

我可以这样实现吗? NSString *name = @"AnyClass"; 类 *myClass = objc_getClass([name UTF8String]);

【问题讨论】:

    标签: objective-c class runtime


    【解决方案1】:

    我相信您正在寻找的功能是:

    NSClassFromString(@"AnyClass");
    

    你可以这样做:

    id obj = [[NSClassFromString(@"AnyClass") alloc] init];
    

    【讨论】:

      【解决方案2】:

      我自己找到了答案 ^^NSClassFromString 是我的朋友 :)

      【讨论】:

        【解决方案3】:

        你确定你不是这个意思:

        AnyClass *myClassInstance = [[AnyClass alloc] init];

        或者这个类已经被实例化并且你需要一个指向它的指针?您可能需要提供更多详细信息。

        【讨论】:

        • 不,我从文件中读取类名,我想在运行时实例化它。
        猜你喜欢
        • 2012-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-14
        • 2011-07-03
        相关资源
        最近更新 更多