gpt4 book ai didi

c++ - 苹果操作系统 : using detachNewThreadSelector method inside a C++ class method

转载 作者:行者123 更新时间:2023-11-28 08:27:03 25 4
gpt4 key购买 nike

我有一个 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++ 类甚至不是对象。

这里有两个真正的选择:

  1. 创建一个具有您想要的行为的 Objective-C 类。

  2. 使用 C++ 并发解决方案。

关于c++ - 苹果操作系统 : using detachNewThreadSelector method inside a C++ class method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3633689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com