Why does an NSInteger variable have to be cast to long when used as a format argument?
You get this warning if you compile on OS X (64-bit), because on that platform NSInteger is defined as long and is a 64-bit integer. The %i format, on the other hand, is for int, which is 32-bit. So the format and the actual parameter do not match in size. Since NSInteger is 32-bit or … Read more