苹果开发者文档和 Swift Playground 中的功能不匹配

Posted

技术标签:

【中文标题】苹果开发者文档和 Swift Playground 中的功能不匹配【英文标题】:Mismatch between apple developer documentation and functions in swift playgrounds 【发布时间】:2020-12-23 09:39:04 【问题描述】:

在苹果开发者文档here中,来自SpriteKitapplyImpluse函数似乎有两个参数:impulse:duration:。但是,当我进入 Swift Playgrounds 并创建一个 Playground 时,在导入 SpriteKit 后,我​​似乎在我的自动完成中获得了这个功能:dot.physicsBody?.applyImpulse(CGVector)(其中 dot 是 SKShapeNode)。

现在,如果您注意到了,该函数只接受一个参数,即脉冲,而不是持续时间。尝试插入 duration: 参数会引发错误,并且 Playground 会尝试使用 at: 参数建议不同的功能。 applyForce 也会发生同样的事情。

如果点是SKSpriteNode,也会发生这种情况。

我很困惑,因为这不应该发生。我是否误读了文档,或者我遗漏了什么?

【问题讨论】:

【参考方案1】:

当您查看您发送的docs 时,您会注意到方法是class function。而且您是在实例而不是类上调用该方法。

class SomeClass 
    class func someTypeMethod() 
        // type method implementation goes here
    

SomeClass.someTypeMethod()

【讨论】:

感谢您的快速回复!如果你不介意,你能不能也告诉我如何调用这些类函数来点? 我不确定,但 SKShapeNode 有方法 runAction: 所以我会使用 SKAction.applyImpulse(...) 创建动作,并在 SKShapeNode 对象上调用该方法,并将创建的动作作为参数。

以上是关于苹果开发者文档和 Swift Playground 中的功能不匹配的主要内容,如果未能解决你的问题,请参考以下文章

swift 教程 swift介绍

在 Swift Playground 中生成 PDF

如何自动禁用 Swift Playground 的启用结果

Swift 开源框架总结

惊喜!!Swift 5.0 官方文档中文版新鲜出炉

如何从嵌入工作区的 Swift Playground 加载 .sks 文件?