NSInteger i = 42;
NSLog(@”%d”,i);
也许之前你都是这么NSLog Integer类型的,但是随着Xcode版本和iOS版本的不断升级,你会发现Xcode对此会出警告,尤其你将BuildConfiguration设置成Release后,运行时警告会更多。这是因为苹果最近发布的产品都是64位的了,而NSLog(@”%d”)是Signed32-bit integer (int),32位的,为了避免出现警告,官方文档给出的解决办法是:
NSInteger i = 42;
printf("%ld ", (long)i);
这样就不会出现警告了!