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/

10-10 18:28