Muss ich das tun:
%Vor% Das heißt, wenn ich initialize
von der Elternklasse ( NSObject
) in meinem App-Delegierten übertreibe, muss ich sicherstellen, dass die Super-Implementierung auch aufgerufen wird? Oder gilt das nicht, da dies keine Instanzmethode ist?
Wie "sicher" ist diese Methode? Ich implementiere die iNotify-Bibliothek und die Dokumentation schlägt vor, die Methode zu dieser Methode hinzuzufügen, aber ich habe sie vorher für nichts in der App verwendet und möchte auch wissen, ob sie möglicherweise unerwartet mit etwas anderem kollidieren kann?
>Wenn Sie Unterklassen dieser Klasse haben, rufen Sie Ihren Code besser mit der Anweisung dispatch_once auf, da jede Unterklasse diese Methode erneut aufruft
%Vor%Siehe diesen Blogbeitrag von Mike Ash für Details.
Die Laufzeit sendet initialisiert an jede Klasse in einem Programm kurz zuvor Die Klasse oder jede Klasse, die von ihr erbt, wird zuerst gesendet Nachricht aus dem Programm. Die Laufzeit sendet die Initialisierung Nachricht an die Klassen in einer thread-sicheren Art und Weise. Superklassen erhalten dies Nachricht vor ihren Unterklassen. Die Superklassenimplementierung kann sein mehrfach aufgerufen, wenn Unterklassen nicht initialize-the implementieren Laufzeit ruft die geerbte Implementierung auf - oder if-Unterklassen explizit [super initialize] aufrufen. Wenn du dich schützen willst Wenn Sie mehrere Male ausgeführt werden, können Sie Ihre Implementierung strukturieren in diesen Zeilen:
So machen beide
%Vor%und
%Vor%gültig.
Tags und Links objective-c iphone ipad