c++ - 相当于 BlackBerry-10 的 NSClassFromString

标签 c++ ios blackberry-10

是否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/

相关文章:

c++ - 是否可以使用 try/catch 捕获段错误?

c++ - 如何在 C++ 的 MFC 窗体中访问全局变量

ios - 这个 UIAlertAction 代码有什么问题?不允许点击/点击并在应用程序中前进

ios - 后台任务即将到期时的本地通知

c++ - 由 bbutil.c 引起的 OpenGL 应用程序错误

c++ - 准确的跨平台声音处理

C++ 编译新的警告过滤器

ios - 如何对 "manually"进行符号化 [NSThread callStackSymbols](获取 atos 的起始地址)(iOS)

c++ - BB10 QNX Momentics IDE 中的 SSL 握手失败

blackberry-simulator - 在 Blackberry 10 中运行我的应用程序