gpt4 book ai didi

objective-c - 类加载时 Objective-C 中的静态初始化器

转载 作者:行者123 更新时间:2023-12-02 07:55:27 24 4
gpt4 key购买 nike

我正在尝试构建一些东西来从类名动态实例化一个对象,类似于 Java 的 Class.forName 方法的工作方式,例如

Class klass = Class.forName("MyClass");
Object obj = klass.instantiate(...

我在 Objective-C 中没有看到任何这样的行为,所以我想在加载 Objective-C 类时调用一个方法来注册类。基本上,我想调用一个注册我的类的方法,例如

+ (void)mystatic {
[NSKeyedUnarchiver setClass:[self class] forClassName:"MyClass"]
}

有没有办法在 OS X 平台上的 Objective-C 中做到这一点?

谢谢。

最佳答案

你想使用 NSClassFromString,像这样:

Class klass = NSClassFromString(@"MyClass");
id obj = [[klass alloc] init];

关于objective-c - 类加载时 Objective-C 中的静态初始化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1083160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com