【问题标题】:Getting a warning about incompatible pointer types收到有关不兼容指针类型的警告
【发布时间】:2013-12-18 23:40:12
【问题描述】:

我收到以下代码的警告

SKSpriteNode *spaceship = [SKAction sequence: @[
                          [SKAction performSelector:@selector(newSpaceship) onTarget:self],
                          [SKAction waitForDuration:0.10 withRange:0.15]]];
[self runAction: spaceship];

警告显示使用“SKAction *”类型的表达式初始化“SKSpriteNode *”的指针类型不兼容。

我是 Objective C 和 Xcode 的新手,所以我不能完全弄清楚这里发生的问题。感谢您的帮助=)。

【问题讨论】:

    标签: objective-c sprite-kit incompatibletypeerror


    【解决方案1】:

    等号右边的代码返回一个指向SKAction对象的指针,但是左边的对象指针的类型是SKSpriteNode。只需将该类型更改为 SKAction,您可能还想更改变量名称以更好地反映它的含义。

    SKAction *spaceshipAction = [SKAction ...

    【讨论】:

      【解决方案2】:

      错误告诉你你在做什么:

      创建SKAction 的实例。将其设置为指向SKSpriteNode 实例的指针。

      正确的代码(从编译的角度来看)是:

      SKAction *spaceship = [SKAction sequence: @[...
      

      但是你还没有说你想要做什么,所以我不知道它是否在逻辑上是正确的。假设selfSKNode 实例,根据您对runAction: 的使用,它看起来确实是正确的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-10
        • 1970-01-01
        • 1970-01-01
        • 2021-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多