Values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead

苹果app支持arm64以后会有一个问题:NSInteger变成64位了,和原来的int (%d)不匹配,会报如下warning,

Values of type 'NSInteger' should not be used as format arguments; add an explicit cast to 'long' instead

解决办法:

 NSInteger number = 0;

0.   NSString *str = [NSString stringWithFormat:@"%d", number];假如number这个值32位足够了,可以更改数字定义为int number  0

1、系统推荐方法   [NSString stringWithFormat:@“%ld"(long)number];

 

2、强制转换    [NSString stringWithFormat:@"%d"(int)number];

 

3、[NSString stringWithFormat:@“%@", @(number)];

 

点击左侧小圆点,自动修改

原文地址:https://www.cnblogs.com/LDSmallCat/p/5081332.html