警告为: Values of type 'NSInteger' should not be used as format arguments...
这个是因为在32位和64位的平台下NSInteger的类型是不一样的,NSInteger在32位平台下为int类型,在64位平台下是long类型,如果你编译的时候选择是32位平台(iPhone4,iPhone4s,iPhone5)那么就会报这个警告,而如果选择64位平台(iPhone5s及以上),那么就不会报这个警告
使用%zd,NSUinteger用%zu,保证是正整数也可以使用%zi
%zd
%zu
%zi
这个是因为在32位和64位的平台下NSInteger的类型是不一样的,NSInteger在32位平台下为int类型,在64位平台下是long类型,如果你编译的时候选择是32位平台(iPhone4,iPhone4s,iPhone5)那么就会报这个警告,而如果选择64位平台(iPhone5s及以上),那么就不会报这个警告
使用
%zd
,NSUinteger用%zu
,保证是正整数也可以使用%zi