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

Ber*_*nie 6 multidimensional-array sprite-kit swift xcode6 ios8

CGPointSKSpriteNode派生类的属性中使用多维数组时出现错误.只有在这种情况下.

错误是:

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

  • 我尝试过double→工作过
  • 我尝试使用CGPoint函数内部的变量→工作
  • 我尝试了失败的代码,其中的一个类没有派生自SKSpriteNode→working

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)")
    }
}
Run Code Online (Sandbox Code Playgroud)

Gui*_*iks 0

它已在 Xcode 的后续版本中修复。问题不再出现。