Я не знаю, насколько больше кто-то может помочь вам оптимизировать то, что вы делаете, потому что я не знаю, что происходит за кулисами (вне контекста фрагмента кода, который вы вставили выше, или того, что на самом деле происходитвнутри вашей MyFormula
функции).
У меня есть один вопрос по оптимизации: почему вы все равно храните все как NSNumber
объекты, а не как массив doubles
?Единственное преимущество (которое я вижу в настоящее время) заключается в том, что вы передаете свои NSNumber
объекты в NSArray
, NSSet
или NSDictionary
, которые записываются на диск или передаются в NSNotification
или.
Но некоторые вещи, которые я бы сделал, включают избавление от этого лишнего, ненужного вызова objectForKey
:
for (NSNumber * myNumber in temp_target_results)
{
formula_score = MyFormula([myNumber doubleValue]);
[target_results setObject:[NSNumber numberWithDouble:formula_score] forKey:[myNumber stringValue]];
}
Еще одно соображение здесь:
Ваш target_results
не является NSMutableSet
, потому что вы используете NSMutableDictionary
метод setObject:forKey:
.Если бы target_results
действительно было NSMutableSet
, вам нужно было бы только позвонить:
[target_results addObject: [NSNumber numberWithDouble: formula_score]];