Sagen, ich habe einen Selektor durchführen:direkt einen Selektor auf ein Objekt
(SEL)aSelector
und ich habe ein Objekt MyObj
.
Die aSelector
stellt eine Funktion dar, die in der Klasse MyObj
definiert ist.
Wie kann ich den Selektor aufMyObj
ausführen?
(I in NSObject Klasse gefunden, gibt es eine Funktion ist:
- performSelector:onThread:withObject:waitUntilDone:
Aber es passt nicht, was ich brauche, da der withObject:
Teil auf die Auswahlfunktion dort steht, ein Parameter übergeben aber was ich brauche, ist zu Selektor Nachricht an diesen myObj
)
senden ===== Warum ich & fragen, was ich ===
erreichen wollenIch möchte eine allgemeine Funktion haben, die einen Selector-Typ-Parameter akzeptiert und ein Objekt, auf dem der Selektor ausgeführt werden soll. In diesem allgemeinen Funktion Körper, verwende ich Dispatch Gruppe diesen Selektor auf dem Objekt auszuführen und für die Auswahlfunktion vollständig warten, meinen Code-Schnipsel:
-(void)myGeneralFuncWithObject:(NSObject*)myObj andSelector:(SEL)aSelector{
...
dispatch_group_async(group, queue, ^{
// My question is how to write code to
// indicate performing aSelector on myObj here?
});
dispatch_group_notify(group, queue, ^{
// selector function finished here, I suppose.
});
}
KLARSTELLUNG:
Ich mag ausführen der Selektor auf myObj
, wie ich oben erwähnt habe. Die Klasse myObj
ist auch eine Unterklasse von NSThread
, und ich möchte, dass der Selektor in diesem Thread ausgeführt wird. Insgesamt möchte ich, dass der Selektor an myObj
und an myObj
Thread ausgeführt wird. Das ist alles.
Können Sie etwas genauer erklären, was Sie erreichen möchten? – Zartha
@Zartha, siehe mein Update. –
Sie wollen also nur eine Methode ohne Argumente aufrufen? Übergeben Sie dann "nil" in den Parameter 'withObject:'. Ich bin mir nicht sicher, ob ich alles verstehe, was du verlangst. – Hamish