What's the value of i after these statements?
NSString *str = nil; NSInteger i = str.integerValue;
0 (technically nil == 0 but i will have a literal value of 0 and not the void* value of nil)
nil
0
void*
-1
This code crashes.