小编Dan*_*Lee的帖子

为什么在用作格式参数时,必须将NSInteger变量强制转换为long?

NSInteger myInt = 1804809223;
NSLog(@"%i", myInt); <==== 
Run Code Online (Sandbox Code Playgroud)

上面的代码产生错误:

Values of type "NSInteger" should not be used as format arguments: add an explicit cast to 'long' instead.
Run Code Online (Sandbox Code Playgroud)

正确的NSLog消息实际上NSLog(@"%lg", (long) myInt);为什么我要将myInt的整数值转换为long,如果我想要显示该值?

xcode casting objective-c

141
推荐指数
3
解决办法
4万
查看次数

我需要澄清这些术语的例外和指令@Try,@ finally,@ throw

  1. 异常发生的一般原因是什么?出现异常时,程序是立即终止还是继续运行?

  2. 我猜@try是我正在测试的程序消息.是对的吗?

  3. @catch之后要么记录错误信息,要么清理等等,@ final块会做什么?我正在阅读的书中说@finally确定@try中的语句是否会引发异常.但这不是一个不必要的步骤,因为有或没有它,我们可以判断是否存在基于程序突然终止的异常?

  4. 什么是投掷指令?这些书说它可以让你抛出自己的异常.但我发现这真的令人困惑.这是否意味着我可以以某种方式创建一个例外并测试它?

如果你能为我回答至少一个问题,我将非常感激.谢谢.

objective-c

0
推荐指数
1
解决办法
93
查看次数

标签 统计

objective-c ×2

casting ×1

xcode ×1