是否NSClassFromString来自 iOS 的 BlackBerry 10 SDK 中有等效项吗?
最佳答案
是的,如果您使用 Qt 元类型系统,则有一个等同于 NSClassFromString
的对象。
您需要使用 Q_DECLARE_METATYPE
宏和 qRegisterMetaType
:
class UserClass : public Superclass {
...
}
Q_DECLARE_METATYPE(UserClass)
int main(int argc, char *argv[]) {
qRegisterMetaType<UserClass>("UserClass");
....
}
然后您可以使用以下代码创建您的类的实例:
int id = QMetaType::type("UserClass");
UserClass *instance = (UserClass*)(QMetaType::construct(id));
我想 QML 也使用这种创建对象的方法,例如在 attachedObjects 部分。
关于c++ - 相当于 BlackBerry-10 的 NSClassFromString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14710471/