2010-02-04 9 views

Antwort

11

Die folgenden Werke für mich, zurückkehr foo:

id myObj = [foo valueForKey: @"self"]; 
+1

, das ist cool! Ich wusste nicht, dass du das tun kannst. =) –

+0

Einverstanden, es ist verdammt cool, und es macht Sinn, dass man so darum bitten kann. Gibt es ein Szenario, in dem dies die einzige Option ist? Vielleicht können Sie eine Schlüsselpfadabfrage nur an ein Objekt senden, für das Sie keinen Zeiger auf das besitzende Objekt haben? Klingt wie eine seltsame Situation ... –

+0

Ja, ich gebe zu, ich kann mir keine reale Situation vorstellen, in der ich das wirklich brauchen würde. Aber die Coolness von @ "Selbst" ist in seiner Existenz. Ich schätze, wenn Sie auf den seltenen Fall stoßen, in dem Sie sich stark auf KVC verlassen müssen, werden Sie dem Ingenieur, der es getan hat, eine Wagenladung Bier schulden. – Costique

3
id myObj = foo; 
+0

Das war übrigens eine absolut gültige Frage zu KVC :) – Costique

+0

Ockhams Razor schlägt wieder. Ich stimme dieser Antwort zu - wenn Sie einen Zeiger auf ein Objekt erhalten können, benutzen Sie einfach diesen Zeiger. Ich verstehe, dass dies wahrscheinlich nur eine akademische Übung ist, aber warum sollten Zyklen auf Schlüsselwertbeobachtung ausgegeben werden, wenn die Antwort offensichtlich ist? –