将在代码中创建一个视图,如何在Swift 1.2中进行delcare

时间:2015-06-18 20:33:30

标签: ios swift

我必须通过添加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))

2 个答案:

答案 0 :(得分:2)

在类中声明的任何实例变量必须是可选的,具有初始值,或者在init方法中实例化。

var dimmedView = UIView()

var dimmedView: UIView?

init() {
   dimmedView = UIView()
}

答案 1 :(得分:1)

您必须在init中初始化Swift中的所有属性。为了解决这个问题,您可以将dimmedView设置为可选项,将其值设置为nil,或者您可以将其初始化为var dimmedView = UIView()