使用自我财产

时间:2017-07-31 16:41:07

标签: ios swift properties self

我对Swift语言很陌生,我试图理解" self"方法属性。我在apple docs上读到了它,因为我理解自我属性的使用就是当我想要“在自己的实例方法中引用当前实例”时。当我阅读它和苹果的例子我理解它的使用和原因,但在那之后,当我看到一些教程时,我明白我并没有真正理解它。我添加了教程的​​代码,也许有人可以根据代码向我解释使用。

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)

let width: CGFloat = 240.0
let height: CGFloat = 160.0

let demoView = DemoView(frame: CGRect(x: self.view.frame.size.width/2 - width/2,
                                      y: self.view.frame.size.height/2 - height/2,
                                      width: width,
                                      height: height))

self.view.addSubview(demoView)
}

我真的没有在这里使用自有财产,特别是因为我没有看到任何相同的名字" var外面的功能。 希望有人能帮助我更好地理解它。 谢谢。

1 个答案:

答案 0 :(得分:1)

你是正确的,在这种情况下,范围之外没有同名变量,因此在这种情况下,不需要使用self。让我们看一个存在差异的例子。

class MyClass {

    let myInteger = 6
    let myBool = false

    func doSomething(_ myInteger: Int) {
        print(myInteger, self.myInteger)
    }

}

然后,代码中的任何其他位置:

let object = MyClass()
object.doSomething(4) // this prints "4, 6" because `myInteger` refers
                      // to the parameter (4), and `self.myInteger`
                      // refers to self's property (6)