mir einige App-Optimierungen zu tun und in großen Schleifen werden die Kontrollen NSMutableDictionary die sind ziemlich anstrengend:Schneller Weg für NSMutableDictionary überprüfen
if ([self.variantBufferSequence objectForKey:[variant valueForKey:@"model_no"]] == nil) {
[self.variantBufferSequence setObject:[NSMutableDictionary new] forKey:[variant valueForKey:@"model_no"]];
}
Gibt es einen leichten Weg, um die Existenz des Eintrags zu überprüfen (objectForKey
) in die if
-anweisung?
Haben Sie überprüfen, ob die meiste Zeit in 'objectForKey' ausgegeben wird? – Willeke
Warum ist der Aufruf 'objectForKey:' eher teuer als der 'valueForKey'-Aufruf (der im Allgemeinen der langsamere der beiden ist und extrem langsam sein kann). Was ist "Variante"? Ist dieser Test wahrscheinlich oft wahr? Was haben die Instrumente gesagt, als Sie das Profil erstellt haben? Die isolierte Optimierung einer Codezeile ist selten der richtige Ansatz. Welcher Wert ändert sich in der Schleife? Wie groß ist dieses Wörterbuch? –