gpt4 book ai didi

swift - Swift 中的问题

转载 作者:行者123 更新时间:2023-11-28 05:33:42 24 4
gpt4 key购买 nike

所以我最近开始接触 Swift 编程,并且正在学习 Bloc 的教程。所以,当我创建 Block 类时,我将所有内容都复制到字母中,但它仍然说“Type 'Block' does not conform to protocol Equatable”,我不知道如何修复它。它还说“一行上的连续声明必须用';'分隔”,“预期声明”和“仅允许在全局范围内使用运算符”。这是我的代码:

class Block: Hashable, Printable {

let color: BlockColor

var column: Int
var row: Int
var sprite: SKSpriteNode?

var spriteName: String {
return color.spriteName
}

var hashValue: Int {
return self.column ^ self.row
}

var description: String {
return "\(color): [\(column), \(row)]"
}

init(column: Int, row: Int, color: BlockColor) {
self.column = column
self.row = row
self.color = color
}

func == (lhs: Block, rhs: Block) -> Bool {
return lhs.column == rhs.column && lhs.row == rhs.row && lhs.color.toRaw() == rhs.color.toRaw()
}

此外,但同样重要的是,NSDate.date() 的替代品是什么?因为Bloc用了,但是我用的时候说不存在。有什么帮助吗?谢谢。

最佳答案

您的代码中缺少右大括号,就在 func == 之前。即关闭类声明。因此,func == 必须在全局范围内,在类声明之外。

class Block: Hashable, Printable {

let color: BlockColor

var column: Int
var row: Int
var sprite: SKSpriteNode?

var spriteName: String {
return color.spriteName
}

var hashValue: Int {
return self.column ^ self.row
}

var description: String {
return "\(color): [\(column), \(row)]"
}

init(column: Int, row: Int, color: BlockColor) {
self.column = column
self.row = row
self.color = color
}
} // <-- this is missing

func == (lhs: Block, rhs: Block) -> Bool {
return lhs.column == rhs.column && lhs.row == rhs.row && lhs.color.toRaw() == rhs.color.toRaw()
}

关于日期,如果你需要的是当前日期和时间,我想你要找的是无参数构造函数:

NSDate()

关于swift - Swift 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26207149/

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