gpt4 book ai didi

ios - 这是对属性使用 self 属性的正确方法吗?

转载 作者:行者123 更新时间:2023-11-28 13:14:50 24 4
gpt4 key购买 nike

我知道 Swift 假定您在使用已知属性或方法名称时引用当前实例的属性或方法;但是,我想确保我理解 self 的用法,因为它在 Swift 之前的代码中被大量使用。

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"

最佳答案

这是合理的,但我确实看到一个错误。这个声明

if self.numberOfBooks && self.numberOfPens >= 1

...无效。 Swift 不允许您将整数值视为 bool 值。

if self.numberOfBooks 

是不合法的,就像在 C 中一样。在 C、Objective-C、C++ 和各种其他类似 C 的语言中,这将被解释为“if self.numberOfBooks != 0”。Swift 强制你成为但是明确。你必须写

if self.numberOfBooks != 0

if self.numberOfBooks >= 1 && self.numberOfPens >= 1

if self.numberOfBooks != 0 && self.numberOfPens >= 1

关于ios - 这是对属性使用 self 属性的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29441553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com