arm64 NSInteger 和 int (%d)不匹配
2015-01-21 10:34
190 查看
2月份开始苹果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;
NSString *str = [NSString
stringWithFormat:@"%d",
number];
假如number这个值32位足够了,
1、可以更改数字定义为int number = 0;
强转型
2、[NSString
stringWithFormat:@"%d",
(int)number];
32位可能不够的话
3、[NSString
stringWithFormat:@“%ld",
(long)number];
一般双击代码左边黄色标签,系统会默认弹出选择用第三种方法替换
4、[NSString stringWithFormat:@“%@", @(number)];
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;
NSString *str = [NSString
stringWithFormat:@"%d",
number];
假如number这个值32位足够了,
1、可以更改数字定义为int number = 0;
强转型
2、[NSString
stringWithFormat:@"%d",
(int)number];
32位可能不够的话
3、[NSString
stringWithFormat:@“%ld",
(long)number];
一般双击代码左边黄色标签,系统会默认弹出选择用第三种方法替换
4、[NSString stringWithFormat:@“%@", @(number)];
相关文章推荐
- Mac OS X10.10_xcode6.1_ios8.1环境下,编译lame静态库libmp3lame.a,支持arm64 armv7s x86_64 i386 armv7指令集
- bilibili的ijk播放器增加arm64的openssl。
- int,NSInteger,NSUInteger,NSNumber
- 关于Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64
- ARM64 平台 PostgreSQL 编译
- armeabi-v7a armeabi arm64-v8a
- Xcode 6制作动态及静态通用Framework(解决不支持 armv7s arm64 armv7)
- ARMv8(ARM64, AArch64)进阶之旅
- Static Libs With Support to iOS 5 and Arm64
- ubuntu12.04 (32/64 bits) 安装配置 arm-linux-gcc-4.5.1 交叉编译工具链
- ART世界探险-arm64-v8a 64位CPU的架构快餐教程
- int和NSInteger区别
- ARM Compile on 64-bit Ubuntu 14.04
- Xcode5 编译ffmpeg,arm64版本;H264
- armeabi-v7a armeabi arm64-v8a
- 我的Android进阶之旅------>Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
- int和NSInteger和long区别
- ARM64 Linux head.S flat address mapping分析
- 常见函数调用约定(x86、x64、arm、arm64)
- Build TensorFlow for armeabi-v7a and arm64-v8a