作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 C++ 类方法,我需要用所有参数调用“detachNewThreadSelector”方法。
这就是问题所在,因为我的类(class)不是 Objective-C 我没有自指针。我也不知道如何从我将设置为选择器的方法中调用类方法。
如果我的问题不清楚,请务必提问,我不是来自英语国家。
这是一些代码。
ALuint AudioController::PlayStream(const string& asset)
{
//attach to a thread
[NSThread detachNewThreadSelector:(SEL)selector toTarget:(id)selfwithObject:(id)argument]
}
void AudioController::RotateThread(const string& soundKey)
{
}
如您所见,我如何将 RotateThread 方法作为选择器传递给“detachNewThreadSelector”,以及我从哪里获得自指针。
非常感谢任何帮助。
谢谢
最佳答案
你不能这样做。它不像“我从哪里获得 self 指针?”那么简单。真正的问题是,“我从哪里得到可以响应消息的东西?”因为 C++ 类不能。
Objective-C的类、对象和方法与C++的类、对象和方法完全不同。这两种语言使用相同的术语并出于相似的目的使用这些东西这一事实让很多人感到困惑,但需要明确的是:它们是完全不同的东西,在两种语言中以截然不同的方式工作。恰当的例子:C++ 方法只是被调用,而不是像 Objective-C 方法那样基于选择器进行分派(dispatch)。 C++ 类甚至不是对象。
这里有两个真正的选择:
创建一个具有您想要的行为的 Objective-C 类。
使用 C++ 并发解决方案。
关于c++ - 苹果操作系统 : using detachNewThreadSelector method inside a C++ class method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3633689/
我是一名优秀的程序员,十分优秀!