I have a problem that I can not understand
NSArray *emptyArr = @[]; for (int i=0; i < ([emptyArr count]-1) ; i++) { NSLog(@\"Did run for1\"); }
[emptyArr count]-1 is never less than 0 since it is unsigned. I'm guessing if you do ((int)[emptyArr count]-1), you will get the correct behavior.
[emptyArr count]-1
((int)[emptyArr count]-1)