我是Swift的初学者,我有一个问题。
我在Xcode6-Beta3中创建了一个新的游乐场文件并删除了
所有默认的片段自动生成。
我只写了一行,
var x:Int = (1.234 as Int)
然后,这一行导致编译错误,并显示消息
Playground execution failed:
error: <EXPR>:1:20: error:
'Double' is not convertible to
'Int'
var x:Int = (1.234 as Int)
^
控制台输出中的。 我可以理解这个错误,因为1.234不能被转换为Int。
接下来,我在import UIKit
之前又添加了一行var x:Int = (1.234 as Int)
,
所以代码如下:
import UIKit
var x:Int = (1.234 as Int)
然后,上面的错误消息消失了。但我无法理解
添加import UIKit
导致消失的原因
声称是的错误信息
'Double' is not convertible to 'Int'
上方。
请教我这个理由或一些参考资料 了解它。
问候。
答案 0 :(得分:1)
编译器将始终寻求一种尽可能使代码编译的方法。使用import UIKit
,您的代码等同于
var _x = 1.234 as NSNumber
var x:Int = (_x as Int)
导入NSNumber
时,编译器可以转为UIKit
。