ios - Which one is faster? for-loop or isEqualToArray -


i know isequaltoarray does...

i have array size 160, each containing dictionary 11 entries, can comparison based on first column (contains date when row changed).

now can simple for-cycle:

        bool different = false;         (int index = 0 ; index < [newinfo count] ; ++index)             if (![[[oldinfo objectatindex:index] objectforkey:@"update"] isequal:[[newinfo objectatindex:index] objectforkey:@"update"]]) {                  different = true;                 break;             }         if (different) {         }         else             nslog(@"contact information hasn't been updated yet"); 

or can use built-in isequaltoarray method:

        if ([oldinfo isequaltoarray:newinfo])             nslog(@"contact information hasn't been updated yet");         else {             nslog(@"contact information has been updated, saving new contact information");             [newinfo writetofile:path atomically:yes];         } 

now, if assuming isequaltoarray invokes isequalto each cell, for-loop method runs 1/11 of time isequaltoarray (only need compare 1 column instead of 11).

maybe i'm optimizing... (i've been @ many contests runtime limited , i'm feeling after-effects).

when know both objects arrays, isequalto<class> method faster way check equality loop.

isequalto<class> used provide specific checks equality.so isequaltoarray: checks arrays contain equal number of objects.

so per knowledge can isequaltoarray better option when know 2 objects arrays.


Comments

Popular posts from this blog

java - activate/deactivate sonar maven plugin by profile? -

python - TypeError: can only concatenate tuple (not "float") to tuple -

java - What is the difference between String. and String.this. ? -