我有这么定义的类:斯威夫特可选属性错误
class User {
var name : String?
}
我使用的代码使用它在我的ViewController:
import UIKit
class ViewController: UIViewController {
let user : User = User()
}
我有编译错误
用户()不可构造()
我知道Swift中的属性必须有一个默认值,但是可选项有一个(nil)。如果我将属性“name”初始化为nil或添加init()初始化程序,错误消失。但我不明白为什么我的选项默认情况下不为零。
顺便说一句,在操场下面的代码编译完美:
class ViewController: UIViewController {
let user : User = User()
}
class User {
var name : String?
}
let vc = ViewController()
而且很奇怪。
此问题与this有关,但我不明白那里的答案(为什么可选在操场上有默认值,但在应用程序中没有?)。
编辑:只有在User类定义在一个单独的文件中时,才会发生错误。 Xcode是Beta 3中(见图片)
是错误的工作不会出现在我的身边。我没有进一步的问题编译这个项目。 – holex
您是否尝试过将该项目作为我编辑中的屏幕截图? – valfer
错误也出现在当前的XCode 6.0 GM(6A313),Swift版本1.0中:-( – valfer