Почему бы не использовать простую цель C (2)?
NSInteger theSum = 0;
for (id obj in theSetOrArray)
theSum += obj.theIntegerPropertyToSum;
Неудобство:
Если вам нравится считать строки, то это выглядит длиннее. Есть ли другие недостатки - интересно, что происходит с методом KVC с объектами, у которых нет обязательного свойства 'theIntegerPropertyToSum'?
Преимущество:
Могу поспорить, что это отладки и тесты производительности проще. Плюс, когда кто-то еще прочитает ваш код через год или два, он узнает, что здесь происходит - видели ли они когда-либо строку цели C или нет, это выглядит так, как на самом деле происходит.