2010-02-04 9 views

Répondre

11

Les travaux suivants pour moi, de retour foo:

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

qui est cool! Je ne savais pas que tu pouvais faire ça. =) –

+0

D'accord, c'est vraiment cool, et il est logique que vous puissiez le demander de cette façon. Y at-il un scénario où c'est votre seule option, cependant? Peut-être que vous pouvez seulement envoyer une requête de chemin clé à un objet pour lequel vous n'avez pas de pointeur sur son objet propriétaire? Ça ressemble à une situation étrange ... –

+0

Oui, j'avoue que je ne peux pas penser à une situation réelle où j'aurais vraiment besoin de ça. Mais la fraîcheur de @ "soi" est dans son existence. Je suppose que si vous tombez sur le cas rare où vous devez compter sur KVC, vous devrez l'ingénieur qui a fait un camion de bière. – Costique

3
id myObj = foo; 
+0

C'était une question parfaitement valide à propos de KVC, en passant :) – Costique

+0

Le rasoir d'Occam frappe à nouveau. J'ai tendance à être d'accord avec cette réponse - si vous pouvez obtenir un pointeur pour envoyer un message à un objet, utilisez simplement ce pointeur. Je comprends que c'est probablement juste un exercice académique, mais pourquoi passer des cycles sur l'observation de la valeur-clé quand la réponse est évidente? –