Wann / wo sollte in Objective-C die Pfeilnotation "-" verwendet werden?

8

Ich habe gerade die klare Erklärung, was "- & gt;" Notation ist hier: Dot (".") Operator und Pfeil ("- & gt;") Operator in C vs. Objective-C verwenden

Aber ich verstehe immer noch nicht was sind eigentlich die Anwendungsfälle dieser Notation in Objective-C?

Hier ist das Beispiel von dem ich rede: Ссылка - Warum sind all diese Strings wie internal- & gt; lock dort geschrieben - warum nicht einfach Ivars oder Punktnotation?

Ähnliches Thema: Leistung von object_setClass () stattdessen Zuweisen eines ISA-Zeigers .

    
Stanislav Pankevich 15.03.2013, 18:26
quelle

3 Antworten

7

Aus Ihrer Frage ist nicht klar, ob Sie verstehen, was der Operator -> tut.

Dieses Beispiel in der GNUStep NSOperation-Quelle ist mit einem ivar. Das macht der Operator -> - er deneferenziert den Zeiger und greift auf das benannte Element zu.

Wie für "Warum nicht Punktnotation verwenden?" Die offensichtliche Antwort wäre, dass sie nicht durch einen Accessor gehen wollten. Das Durchlaufen eines Accessors ist langsamer als der direkte Zugriff und hat keinen wirklichen Vorteil in einem Fall wie diesem, in dem wir nur mit einem "dummen" internen Zustand arbeiten.

Wann sollten Sie es in Ihrem Objective-C-Code verwenden? Hauptsächlich, wenn Sie über einen Zeiger auf eine Struktur zugreifen. Es ist selten erforderlich, direkt auf die Instanzvariablen eines anderen Objekts zuzugreifen. Wenn Sie dies tun, ist dieser Code die Ausnahme, nicht die Regel.

    
Chuck 15.03.2013, 19:03
quelle
0

Kann in diesem Fall sein. Ich sah ein Beispiel in Apples Reachability.m-Datei. Hier ist es:

%Vor%

Sie können damit eine globale Variable von einem Objekt in einer Klassenmethode aufrufen.

    
george_luofz 26.10.2017 05:25
quelle
-2

-> wird verwendet, um auf Strukturelemente in Ziel-C-Sprache zuzugreifen.

Beispiel:

%Vor%

Um auf "Name" Mitglied der Studentenstruktur zuzugreifen, müssen Sie - & gt; Betreiber wie:

%Vor%     
Nirbhay Singh 14.02.2017 13:15
quelle

Tags und Links