gpt4 book ai didi

ios - 使用类型方法时出错

转载 作者:行者123 更新时间:2023-11-29 02:41:06 25 4
gpt4 key购买 nike

好的,我一直在研究 Apple 的 Swift 手册并遇到了这个例子。我输入它并收到“com.apple.main-thread”,停止原因 = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) 错误:

if level > highestUnlockedLevel { highestUnlockedLevel = level }

我回去检查我的工作。我通过 TextWrangler 将我输入的内容与书中的示例进行了比较,没有区别。然后我重新启动了我的机器,没有运气,然后回去在 Xcode 6 Beta 版本 7 上尝试它。同样的错误。事实上,下面的代码是从书中摘录的。有人可以试试这个,看看他们是否收到相同的错误吗?

struct LevelTracker {
static var highestUnlockedLevel = 1
static func unlockLevel(level: Int) {
if level > highestUnlockedLevel { highestUnlockedLevel = level }
}
static func levelIsUnlocked(level: Int) -> Bool {
return level <= highestUnlockedLevel
}
var currentLevel = 1
mutating func advanceToLevel(level: Int) -> Bool {
if LevelTracker.levelIsUnlocked(level) {
currentLevel = level
return true
} else {
return false
}
}
}

class Player {
var tracker = LevelTracker()
let playerName: String
func completedLevel(level: Int) {
LevelTracker.unlockLevel(level + 1)
tracker.advanceToLevel(level + 1)
}
init(name: String) {
playerName = name
}
}

var player = Player(name: "Argyrios")
player.completedLevel(1)
println("highest unlocked level is now \(LevelTracker.highestUnlockedLevel)")

最佳答案

highestUnlockedLevel 定义为static 因此换行

highestUnlockedLevel = level

到:

LevelTracker.highestUnlockedLevel = level

Playground

struct LevelTracker {
static var highestUnlockedLevel = 1

static func unlockLevel(level: Int) {
if level > highestUnlockedLevel {
LevelTracker.highestUnlockedLevel = level
}
}
}

LevelTracker.unlockLevel(5)

关于ios - 使用类型方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25791094/

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