【问题标题】:Swift Playground - "Use of unresolved identifier 'myClass'" but still compilesSwift Playground - “使用未解析的标识符'myClass'”但仍可编译
【发布时间】:2017-08-01 09:21:08
【问题描述】:

我目前正在试用 Swift Playgrounds,并且正在试用 SpriteKit。我的游乐场按预期工作并运行,但 Xcode 出现错误提示“使用未解析的标识符 'myClass'”。尽管如此,操场仍然运行良好。

这是我的代码:

import UIKit
import PlaygroundSupport
import SpriteKit
let frame = CGRect(x: 0, y: 0, width: 800, height: 600)
let mySKScene = myClass()
let view = SKView(frame: frame)
view.presentScene(mySKScene)

PlaygroundPage.current.liveView = view

class myClass: SKScene {
    override func didMove(to view: SKView) {

    }
}

提前感谢您的帮助。

附:我正在使用 iOS SKD

【问题讨论】:

    标签: ios swift swift-playground


    【解决方案1】:

    myClass 在您尝试使用它时尚未定义。将您的代码更改为如下所示:

    import UIKit
    import PlaygroundSupport
    import SpriteKit
    
    class myClass: SKScene {
        override func didMove(to view: SKView) {
    
        }
    }
    
    let frame = CGRect(x: 0, y: 0, width: 800, height: 600)
    let mySKScene = myClass()
    let view = SKView(frame: frame)
    view.presentScene(mySKScene)
    
    PlaygroundPage.current.liveView = view
    

    只是关于样式的说明。类通常在第一个字母大写的情况下声明。(即class MyClass: SKScene {}

    【讨论】:

    • 我会更加强调代码风格。 Swift 有一个严格的约定,即类和类型名称应以大写字母开头,变量和函数名称应以小写字母开头。您应该将未能遵循此约定视为编码错误。它被广泛接受,如果不遵循它,其他阅读您的代码的 Swift 开发人员会感到非常困惑。
    猜你喜欢
    • 2014-11-23
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 2016-11-28
    • 2015-05-25
    • 2017-01-28
    • 2015-11-27
    相关资源
    最近更新 更多