La geometría personalizada de SceneKit en Swift en iOS no funciona, pero el código equivalente de Objective C sí funciona

Estoy ansioso por adoptar el nuevo lenguaje Swift, ya que este parece ser el camino a seguir con el desarrollo de Apple. También me ha impresionado el nuevo soporte de SceneKit en iOS 8. Me gustaría crear geometría personalizada mediante programación en tiempo de ejecución, pero estoy luchando para que el código Swift funcione. Sin embargo, el código equivalente en el Objetivo C funciona bien.

Esto podría ser un error o algo que estoy haciendo mal.

Simplemente estoy tratando de crear y renderizar un solo triángulo. Ignoraré las normales y texturas, etc. en este punto por simplicidad. Así que solo espero ver un triángulo negro.

Código Swift (no funciona)

var verts = [SCNVector3(x: 0,y: 0,z: 0),SCNVector3(x: 1,y: 0,z: 0),SCNVector3(x: 0,y: 1,z: 0)]

let src = SCNGeometrySource(vertices: &verts, count: 3)
let indexes:Int[]=[0,1,2]
let dat  = NSData(bytes: indexes, length: sizeofValue(indexes))
let ele = SCNGeometryElement(data:dat, primitiveType: .Triangles, primitiveCount: 1, bytesPerIndex: sizeof(Int))
let geo = SCNGeometry(sources: [src], elements: [ele])

let nd = SCNNode(geometry: geo)
scene.rootNode.addChildNode(nd)

Código del objetivo C (que funciona)

SCNVector3 verts[] = { SCNVector3Make(0, 0, 0), SCNVector3Make(1, 0, 0), SCNVector3Make(0, 1, 0) };
SCNGeometrySource *src = [SCNGeometrySource geometrySourceWithVertices:verts count:3];

int indexes[] = { 0, 1, 2 };
NSData *datIndexes = [NSData dataWithBytes:indexes length:sizeof(indexes)];
SCNGeometryElement *ele = [SCNGeometryElement geometryElementWithData:datIndexes primitiveType:SCNGeometryPrimitiveTypeTriangles primitiveCount:1 bytesPerIndex:sizeof(int)];
SCNGeometry *geo = [SCNGeometry geometryWithSources:@[src] elements:@[ele]];

SCNNode *nd = [SCNNode nodeWithGeometry:geo];
d
[scene.rootNode addChildNode:nd];

Cualquier indicador sería apreciada.