gpt4 book ai didi

swift - “import UIKit”导致 Double-to-Int 的转换错误消失。为什么 ?

转载 作者:可可西里 更新时间:2023-11-01 02:28:03 24 4
gpt4 key购买 nike

我是 Swift 初学者,我有一个问题。

我在 Xcode6-Beta3 中创建了一个新的 playground 文件,并删除了
所有默认片段自动生成。我写了以下
只有一行,

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。

接下来,我在var x:Int = (1.234 as Int)之前又加了一行import UIKit
所以代码如下:

import UIKit

var x:Int = (1.234 as Int)

然后,上面的错误信息就消失了。但我无法理解
添加import UIKit导致消失的原因
错误信息声称
'Double' 不能转换为 'Int'
以上。

请教我这个原因或一些引用资料了解它。

问候。

最佳答案

编译器总是会寻找一种方法使您的代码尽可能地编译。使用 import UIKit,您的代码相当于

var _x = 1.234 as NSNumber
var x:Int = (_x as Int)

当导入UIKit时,编译器可以转向NSNumber

关于swift - “import UIKit”导致 Double-to-Int 的转换错误消失。为什么 ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25677851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com