我必须通过添加dimmedView来修复另一个开发人员的代码。我想在代码中创建所有这些。我明白了!对于可选值,但我如何声明以下视图。似乎我不需要初始化它,但编译器希望它初始化。我该如何处理?
class EKViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var mainTV: UITableView!
var dimmedView:UIView
....
func renderOverlayNav(){
println("YYY about to render outlay")
self.dimmedView=UIView(frame: CGRectMake(0.0, 0.0, self.screenWidth, self.screenHeight))
答案 0 :(得分:2)
在类中声明的任何实例变量必须是可选的,具有初始值,或者在init方法中实例化。
var dimmedView = UIView()
或
var dimmedView: UIView?
或
init() {
dimmedView = UIView()
}
答案 1 :(得分:1)
您必须在init中初始化Swift中的所有属性。为了解决这个问题,您可以将dimmedView设置为可选项,将其值设置为nil,或者您可以将其初始化为var dimmedView = UIView()