下面是我的测试代码:
当在SKSpriteNode
派生类的属性中使用具有CGPoint
的多维数组时,我得到一个错误。
错误是:
EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP子代码= 0 x0)
- 我尝试了
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)")
}
}
在Xcode的后续版本中修复。