condition - Objective C: -1 < 0 return false -
is there difference between 2?
int count = 0; (uiview *view in scrollview.subviews) { nslog(@"%d < %d", [json[@"images"] count] - 1, count); // output: -1 < 0 if ([json[@"images"] count] - 1 < count) break; }
and
int count = 0, maxindex = [json[@"images"] count] - 1; (uiview *view in scrollview.subviews) { nslog(@"%d < %d", maxindex, count); // output: -1 < 0 if (maxindex < count) break; }
what i've facing was, first solution didn't break
loop, whereas second solution did.
is there reason behind?
thats because count
nsuinteger
property. therefore never -1
in case.and in second case you're assigning maxindex
int
, gives -1
.
so try understand whats happening.
int count = 0; nsuinteger maxindex = [json[@"images"] count] - 1; (uiview *view in scrollview.subviews) { nslog(@"%d < %d", maxindex, count); // output: -1 < 0 if (maxindex < count) break; //this not break either maxindex never `-1`
}
also,in nslog
using %d
format specifier type int
, try %lu or %lx
hope helps
Comments
Post a Comment