Ios 这是为属性使用self属性的正确方法吗?
我知道Swift假设您在使用已知属性或方法名称时引用当前实例的属性或方法;然而,鉴于在Swift之前,Ios 这是为属性使用self属性的正确方法吗?,ios,oop,swift,Ios,Oop,Swift,我知道Swift假设您在使用已知属性或方法名称时引用当前实例的属性或方法;然而,鉴于在Swift之前,self在代码中大量使用,我想确保我理解它的用法 class School { var numberOfBooks = 0 var numberofPens = 0 func buyBooks() { self.numberOfBooks++ } func buyPens() { self.numberOfPens++ } func readyF
self
在代码中大量使用,我想确保我理解它的用法
class School {
var numberOfBooks = 0
var numberofPens = 0
func buyBooks() {
self.numberOfBooks++
}
func buyPens() {
self.numberOfPens++
}
func readyForSchool() {
if self.numberOfBooks && self.numberOfPens >= 1 {
println("I am ready for school")
} else {
println("I need to buy school materials")
}
}
}
var preparedForSchool = School()
preparedForSchool.buyBooks()
preparedForSchool.buyPens()
preparedForSchool.readyForSchool() \\returns "I am ready for school"
那看起来很好(依我看)。为了更合理地理解Swift中的
self
,请参考以下问题:。这是合理的,但我确实看到了一个错误。此声明
if self.numberOfBooks && self.numberOfPens >= 1
…无效。Swift不允许您将整数值视为布尔值
if self.numberOfBooks
不是合法的,就像它在C、ObjuleC、C++和C.的各种C类语言中一样,被解释为“如果是Self.No.FooBooots!”0”。然而,Swift强制您明确。您必须书写
if self.numberOfBooks != 0
或
或
if self.numberOfBooks >= 1 && self.numberOfPens >= 1
if self.numberOfBooks != 0 && self.numberOfPens >= 1