带有CGPoint的Swift,SpriteKit和多维数组

时间:2014-06-24 11:14:32

标签: multidimensional-array swift sprite-kit ios8 xcode6

CGPoint派生类的属性中使用带有SKSpriteNode的多维数组时出错。 仅在这种情况下。

错误是:

  

EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

  • 我试过double→工作
  • 我尝试使用CGPoint作为函数内的变量→工作
  • 我尝试使用不是从SKSpriteNode→工作
  • 派生的类的失败代码

Xcode 6.0 beta 2

有什么想法吗?


这是我的测试代码:

import SpriteKit

class TestSprite: SKSpriteNode {

    var myOuterArray = Array<Array<CGPoint>>()
    var myOuterDoubleArray = Array<Array<Double>>()

    init()  {
        super.init(texture:nil, color:UIColor.clearColor(), size: CGSizeZero)
        self.testWithInnerArray()
        self.testWithOuterArray()
        self.testWithOuterDoubleArray()
    }

    // breaks
    func testWithOuterArray(){
        myOuterArray.append(Array(count:1, repeatedValue:CGPoint())) // << ERROR!
        println("myOuterArray.count : \(myOuterArray.count)")
    }

    // works
    func testWithOuterDoubleArray(){
        myOuterDoubleArray.append(Array(count:1, repeatedValue:Double()))
        println("myOuterDoubleArray.count : \(myOuterDoubleArray.count)")
    }

    // works
    func testWithInnerArray(){
        var myInnerArray = Array<Array<CGPoint>>()
        myInnerArray.append(Array(count:1, repeatedValue:CGPoint()))
        println("myInnerArray.count : \(myInnerArray.count)")
    }
}

1 个答案:

答案 0 :(得分:0)

它已在Xcode的更高版本中修复。问题不再发生。