鑑於Foo類的一個對象foo,我要做到以下幾點:Objective C - 是否有一個會導致對象返回的keypath?
NSString *key = @"some key";
id myObj = [foo valueForKey: key];
,並有MyObj中等於foo中。
有沒有辦法做到這一點,而無需在Foo上定義一個類別?
鑑於Foo類的一個對象foo,我要做到以下幾點:Objective C - 是否有一個會導致對象返回的keypath?
NSString *key = @"some key";
id myObj = [foo valueForKey: key];
,並有MyObj中等於foo中。
有沒有辦法做到這一點,而無需在Foo上定義一個類別?
以下爲我工作,返回富:
id myObj = [foo valueForKey: @"self"];
id myObj = foo;
這是一個關於KVC的完全有效的問題,順便說一句:) – Costique 2010-02-04 15:44:35
奧卡姆的剃刀再次襲擊。我傾向於同意這個答案 - 如果你可以得到一個指向消息對象的指針,就使用該指針。我知道這可能只是一個學術活動,但爲什麼當答案顯而易見時,在關鍵價值觀察上花費週期呢? – 2010-02-05 06:32:44
這很酷!我不知道你可以這樣做。 =) – 2010-02-04 16:01:34
一致認爲,這很酷,它是有道理的,你可以這樣問。儘管這是你唯一的選擇嗎?也許你只能發送一個關鍵路徑查詢到一個你沒有指向它擁有的對象的對象?聽起來像一個奇怪的情況... – 2010-02-05 06:34:40
是的,我承認我想不出任何真正需要這個的真實世界的情況。但是「自我」的冷靜在其存在中。我猜如果你遇到罕見的情況,你必須嚴重依賴KVC,你將欠工程師誰做了一卡車的啤酒。 – Costique 2010-02-05 07:07:57