Voglio iniziare una nuova discussione usando una funzione C, non un metodo C-obiettivo. Ho provatoÈ possibile utilizzare una funzione C come selettore in Cocoa?
[NSThread detachNewThreadSelector: @selector(func) toTarget: nil withObject: id(data)];
dove ho
void func(void *data) {
// ...
}
e data
è un void *
, ma ho un incidente di esecuzione in objc_msgSend
, chiamato da
-[NSThread initWithTarget:selector:object:]
Che cosa posso fare, invece? È possibile?
+1 Le categorie Obj-C sono molto utili a volte. – u0b34a0f6ae
Buona idea, grazie! –
Non c'è molto senso fare tutto questo e lanciare la propria implementazione, mentre possiamo haz 'dispathc_async_f()'. Probabilmente è meglio lasciare l'implementazione del threading agli ingegneri Apple. Forse sanno un po 'meglio cosa sta succedendo nel loro sistema. –