0
比方說,我有一個具有一些屬性的對象,並將這些對象的1000個加載到一個數組中。接下來,我進行了一系列的valueForKeyPaths
對這些屬性:對多個keyPath執行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;
}
「似乎」一詞與我有關。不要對任何一種方法的性能特徵做出假設(或者關於這段代碼對你的程序性能有多重要)。如果它擔心你,請將其歸檔。 – 2013-04-20 02:21:18