2016-10-18 27 views
1

難道KVC拿起任何的Objective-C的文字又名「現代的Objective-C」KVC與現代語法

我不知道,因爲這將是非常方便的,如果有一些短得多的功能,以及更多可讀比

[someObject setValue:someValue forKey:someKey];

回答

0

也許和你一樣,我無法找到對

任何信息,但我覺得跟KVC問題下面的「現代的Objective-C」是編譯器不會有任何方法可以告訴你是否參考在超出範圍的變量,或者如果拼寫錯誤的東西。

所以我認爲KVC永遠有遵循標準的消息語法

+1

編譯器沒有(不能)檢查'someDict [aKey]'的有效性。 –

+0

@JoshCaswell +1此外:具有相同信息(對象,鍵,值)的不同語法可以*總是*生成相同的代碼。人們可以想到'v [k] - > - >> object'。 –

2

對象申購接近KVC:

someObject[someKey]=someValue; 

請注意,對象申購和KVC遵循不同的代碼路徑,因此它有可能這種行爲是不一樣的。但是,沒有什麼理由。

在這旁邊一個可能會懷疑,如果這是更清晰的語法:

object[@"a"]=object[@"b"]=object[@"c"]; 

發送消息的?