gpt4 book ai didi

sprite-kit - Swift 2 迁移错误 : no longer can pass in nil in the designated initialiser of SKSpriteNode

转载 作者:行者123 更新时间:2023-12-03 21:41:01 25 4
gpt4 key购买 nike

试图将我的项目迁移到 Swift 2。

我收到大量编译器错误,其中大部分很容易修复,因为它们只是语法更改。

但是,我不知道处理此错误的最佳方法:

从我的 SKSpriteNode 的子类调用指定的初始化程序时我收到错误消息:“类型'UIColor'不符合协议(protocol)'NilLiteralConvertible'”用于传递nil对于color :

import SpriteKit

class MyClass: SKSpriteNode {

init() {
let texture = SKTexture(imageNamed: "MyTexture.png")
super.init(texture: texture, color: nil, size: texture.size())
}
}

我可以通过传入 UIColor.clearColor() 来解决这个问题但我觉得这不是处理这个问题的正确方法。

任何建议都非常感谢,还有,这里发生了什么变化(当然,一个解释的链接就足够了)?

最佳答案

在 Swift 1.2 中,您调用 super 的初始化程序用于接受颜色的隐式解包选项,因此您可以通过 nil
在 Swift 2 中,相同的初始化程序不再接受可选参数,您必须传递 UIColor如果你使用它(见 docs )

您通过UIColor.clearColor()的解决方案在我看来是合理的!

关于sprite-kit - Swift 2 迁移错误 : no longer can pass in nil in the designated initialiser of SKSpriteNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31250159/

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