welche Arten von Referenzen von die Benachrichtigung Zentrum der ‚Beobachter‘ und ‚Objekt‘ Argumente gehalten werden?
Ich glaube eine schwache Referenz, obwohl das nur aus dem Speicher (kein Wortspiel beabsichtigt) ist.
was sind die besten Praktiken für Entfernen Beobachter der Notification Center?
Entfernen Sie das registrierte Objekt immer aus dem Benachrichtigungscenter, bevor es freigegeben wird. Die Dealloc-Methode des Objekts ist dafür geeignet, wenn sie die Registrierung selbst erstellt oder wenn Sie sie freigeben, wenn ein anderes Objekt die Benachrichtigungsabonnements verwaltet. Behalte dies im Hinterkopf und das oben Genannte spielt keine Rolle.
was sind die besonderen Anliegen für Multi-Threaded-Anwendungen, besonders WRT das 'Objekt' Argument?
NSNotificationCenter auf Themen funktioniert gut, aber , wenn Sie eine Benachrichtigung von einem Hintergrund-Thread senden, wird das Objekt auf demselben Thread erhalten. Aufgrund dieses Verhaltens sollten Sie einen anderen Ansatz verwenden, wenn Sie die Benutzeroberfläche aktualisieren oder etwas tun, das nicht threadsicher ist (oder die Benachrichtigung von einer anderen Methode im Hauptthread senden).
was sind die Unterschiede im Verhalten diese Methode in der GC und nicht-GC Umgebungen?
Ich kann mich nicht daran erinnern, etwas gehört zu haben, worüber man sich Sorgen machen muss, obwohl ich den GC noch nicht sehr oft benutzt habe.
sind der signifikanten Unterschiede (aus Kundensicht) zwischen mobilen und Desktop-Umgebungen in dieses Verhalten Methode?
Nicht dass ich davon gehört habe, nein. Wenn Sie Ihr Objekt registrieren, können Sie sich für alle Benachrichtigungen oder nur Benachrichtigungen von einem bestimmten Objekt registrieren. Wenn Sie Benachrichtigungen stark verwenden, können diese ein wenig schneller sein, aber testen Sie immer, um sicher zu gehen.
Auch alle Hinweise Artikel zu bestehenden, die diese decken wäre sehr geschätzt. Ich googelte, aber war überrascht, wenig eingehende Diskussion dieser Ausgaben zu finden (obwohl vielleicht ich nicht die richtigen magischen Schlüsselwörter benutzte).
Ich denke, es ist mehr, weil NSNotificationCenter im Allgemeinen ziemlich einfach zu bedienen ist. Wenn Sie sich über bestimmte Fälle Sorgen machen, haben Sie keine Angst, eine schnelle Test-App zu schreiben!
thx für die Bearbeitung chris. –