我对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外面的功能。 希望有人能帮助我更好地理解它。 谢谢。
答案 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)