我想用C函數啓動一個新線程,而不是一個Objective-C方法。我試圖在Cocoa中可以使用C函數作爲選擇器嗎?
[NSThread detachNewThreadSelector: @selector(func) toTarget: nil withObject: id(data)];
在那裏我有
void func(void *data) {
// ...
}
和data
是void *
,但我得到了objc_msgSend
運行時墜毀,從
-[NSThread initWithTarget:selector:object:]
我能做些什麼,而不是叫什麼名字?它甚至有可能嗎?
好吧,是的,我的意思是,沒有這樣做。換句話說,我想知道我是否缺少一些語法 –
沒有NSThread調用方法,所以你別無選擇。 – Mark
我不認爲有一個簡單的句法來做到這一點。選擇器用於向對象發送消息。發送消息與簡單地調用函數不同。基本的機制有點不同。 –