Das Konzept der Nachricht ist normalerweise mit asynchronem Aufruf verbunden. Ist das bei Objective C der Fall? dh wenn ein Anrufer eine Nachricht an einen Anrufer sendet, um eine Methode darauf auszuführen, wird der Anrufer sofort fortgesetzt oder ist er blockiert, bis der Anrufer die angeforderte Methode ausgeführt hat?Wird eine Nachricht in Objective C tatsächlich asynchron gesendet?
2
A
Antwort
3
Es ist definitiv blockiert. Da die Nachrichten tatsächlich übersetzt werden im Klar C.
[myObj myMethod];
wird
objc_msgSend(myObj, @selector(myMethod));
zur Laufzeit.
Einige Methoden sind jedoch asynchron implementiert. Siehe -[NSTask launch]
, -[NSThread start]
usw.
2
Nein, wenn Sie in objective-c "send a message" lesen, müssen Sie daran denken, eine Methode aufzurufen. So eine Nachricht zu senden ist, eine Methode aufzurufen, einige sind sync, einige sind async, Sie müssen die Dokumente überprüfen, um das zu sehen.
Verwandte Themen
- 1. Was ist eine Nachricht in objective-c?
- 2. Wie wird eine Benachrichtigung mit Parametern auf Objective-C gesendet?
- 3. Woher weiß ich, woher eine Nachricht in rabbitMQ gesendet wird?
- 4. Eine Objective-C-Nachricht wurde an ein freigegebenes Objekt (Zombie) unter der folgenden Adresse gesendet: 0x75d52a0
- 5. Wie kann ich eine statische Objective-c-Methode asynchron aufrufen?
- 6. Wie wird in C# eine Refresh/Repaint-Nachricht an ein WPF-Raster oder eine Zeichenfläche gesendet?
- 7. Eine Nachricht protokollieren, die an nil gesendet wird?
- 8. Scrollen Sie nach unten, wenn eine neue Nachricht gesendet wird
- 9. Intercept-Methodenaufruf in Objective-C
- 10. Verwendet Objective-C eine Kurzschlussauswertung?
- 11. Objective-C antwortetToSelector
- 12. Nachricht an freigegebene Instanz gesendet
- 13. Wird Objective-C vor der Kompilierung in C-Code konvertiert?
- 14. Wie wird eine Variable zum Array in Objective-C hinzugefügt?
- 15. Ist Objective-C++ eine Obermenge von C++ und Objective-C?
- 16. Verhindern, dass ein Ereignis ausgelöst wird, wenn eine Midi-Nachricht gesendet wird
- 17. Nicht-blockierende Wartefunktion in Objective-C
- 18. ActiveMQ mit Spring JMS - wie NONPERSISTENT Nachricht gesendet wird?
- 19. Objective-c-Neuling - UIViewController managedObjectContext Unbekannter Selektor gesendet Instanz
- 20. Eine Änderung an jeder Klasseneigenschaft in Objective-C beobachten
- 21. Nächste Zeile in Nachricht gesendet funktioniert nicht
- 22. Sendet SQS tatsächlich mehrere S3 PUT Objektdatensätze pro Nachricht?
- 23. Mit C++ 11 Lambdas asynchron, sicher
- 24. objective-c "muting-Methode an unveränderliches Objekt gesendet" Fehler
- 25. Dynamische Rundungszahlen in Objective-C
- 26. Hat Objective-C eine Standardbibliothek?
- 27. Verzögerung eine Call-Methode in Objective-c
- 28. In eine Datei asynchron schreiben
- 29. Gibt es eine Möglichkeit, Nachrichten zu erfassen, die in Objective-C an nil gesendet werden?
- 30. Eine Konstante in objective-c definieren
+1, aber für diese asynchronen Methoden wird die aktuelle Methode synchron ausgeführt. Es ist nur so, dass die Arbeit der Methode asynchron gestartet und ausgeführt wird. Es gibt keine Möglichkeit, eine Nachricht asynchron zu senden. – wbyoung
Danke, dann meine nächste Frage http://StackOverflow.com/Questions/10163489/How-to-Send-Message-asynchron-in-objective-c mit Ausnahme bestimmter Methoden, die Sie erwähnt. – user310291