警告為:「NSInteger」類型的值不應用作格式參數...
這個是因為在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