如何在objectiveC中将NSUInteger
值转换为int
值?
以及如何在NSUInteger
中打印NSLog
值,我尝试了%@,%d,%lu
这些不起作用并抛出 Ex-Bad Access 错误。
谢谢
答案 0 :(得分:72)
NSUInteger intVal = 10;
int iInt1 = (int)intVal;
NSLog(@"value : %lu %d", (unsigned long)intVal, iInt1);
有关详情,请查看here
答案 1 :(得分:3)
显式转换为int
NSUInteger foo = 23;
int bar = (int)foo;
虽然
NSLog(@"%lu",foo);
可以在当前版本的OSX上正常运行。它不安全,因为NSUInteger在其他构建中被typedeffed为unsigned int。比如iOS。严格的答案是先施展它:
NSLog(@"%lu",(unsigned long)foo);
答案 2 :(得分:1)
大家好为我工作......
我试过了..
NSUInteger inbox_count=9;
NSLog(@"inbox_count=%d",(int)inbox_count);
//output
inbox_count=9
感谢所有人..
答案 3 :(得分:0)
这很简单,
NSUInteger uintV = 890;
int intVal = (int) uintV;
NSLog(@"the value is : %lu", (unsigned long)intVal);
这将打印出类似的内容,
值为:890