gpt4 book ai didi

ios - 错误 "$T5??' 在 Swift 中没有名为 'Generator' 的成员?

转载 作者:可可西里 更新时间:2023-11-01 00:18:01 24 4
gpt4 key购买 nike

我尝试在 Swift 中使用 allContactedBodies() 但我一直收到错误 '$T5??'没有名为“Generator”的成员:

class Sense : SKNode { override init() { super.init() }

required init(coder: NSCoder) {
fatalError("NSCoding not supported")
}

init(size: CGSize) {
// Initialize shape
super.init()

// Physic Properties
self.physicsBody = SKPhysicsBody(rectangleOfSize: size)
self.physicsBody?.affectedByGravity = false
self.physicsBody?.categoryBitMask = ColliderType.Vision.toRaw()
self.physicsBody?.collisionBitMask = 0
self.physicsBody?.contactTestBitMask = ColliderType.Wall.toRaw()
self.hidden = true
}

func contact() -> Bool {
for body : AnyObject in self.physicsBody?.allContactedBodies() { // Here is the error
return true
}
return false
} }

如何修复它以便我可以使用 allContactedBodies()?

最佳答案

self.physicsBody?.allContactedBodies() 返回一个可选的,因此由于可选链接,这使得整个表达式成为可选的。在 self.physicsBody 为 nil

的情况下,您可以使用 nil 合并运算符来使用空数组
for body: AnyObject in self.physicsBody?.allContactedBodies() ?? [] {
return true
}
return false

或者使用“if let”解包来获取物理体,如果它在那里的话。

if let physicsBody = self.physicsBody {
for body : AnyObject in physicsBody.allContactedBodies() {
return true
}
return false
} else {
return false
}

关于ios - 错误 "$T5??' 在 Swift 中没有名为 'Generator' 的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26268537/

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