Swift, SpriteKit and multidimensional arrays with CGPoint

I get an error when using a multidimensional array with CGPoint in a property in the SKSpriteNode derived class. Only in these conditions.

Error:

EXC_BAD_INSTRUCTION (code = EXC_I386_INVOP, subcode = 0x0)

  • I tried with double worked
  • I tried with CGPoint as a variable inside a function -> worked
  • I tried the error code with a class not obtained from SKSpriteNode worked

Xcode 6.0 beta 2

Any ideas?


Here is my test code:

 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)") } } 
+6
source share
1 answer

It is fixed in a later release of Xcode. The problem no longer arises.

0
source

Source: https://habr.com/ru/post/971284/


All Articles