iOS的NSClassFromString在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/