![](/img/trans.png)
[英]Dynamic member lookup with multiple keypaths for enums with associated values
[英]Performing valueForKeyPaths against multiple keyPaths
假設我有一個具有一定數量屬性的對象,並將1000個這些對象加載到數組中。 接下來,我針對這些屬性執行一系列valueForKeyPaths
:
result.property1 = [array valueForKeyPath:@"@sum.property1"];
result.property2 = [array valueForKeyPath:@"@sum.property2"];
result.property3 = [array valueForKeyPath:@"@sum.property3"];
etc...
單獨匯總這些屬性似乎效率很低。 除了快速枚舉屬性並手動求和之外,還有沒有更好的方法? 即
for(Foo* foo in array) {
result.property1 += foo.property1;
result.property2 += foo.property2;
result.property3 += foo.property3;
}
KVC要求鍵必須是字符串:
密鑰是標識對象的特定屬性的字符串。 通常,鍵對應於接收對象中訪問器方法的名稱或實例變量。 密鑰必須使用ASCII編碼,以小寫字母開頭,並且不能包含空格。
因此,據我所知,不幸的是,您無法使用valueForKeyPath:
做到這一點valueForKeyPath:
您將不得不手動執行或枚舉它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.