Objective C 到 Swift 转换
Objective C to Swift conversion
我正在尝试翻译 swift SceneKitVehicule apple 示例...但我不知道如何翻译这行代码:
NSArray *pointOfViews = [self.scene.rootNode
childNodesPassingTest:^BOOL(SCNNode *child, BOOL *stop) {
return child.camera != nil;
];
我试过了:
var pointOfViews = self.scene?.rootNode.childNodesPassingTest{
(child, stop) -> Bool; return child.camera != nil }
但不确定结果...
删除分号并添加 in
var pointOfViews = self.scene?.rootNode.childNodesPassingTest { (child, stop) -> Bool in
return child.camera != nil
}
这应该有效。此外,(child: SCNNode, stop: Bool)
或没有类型在 Swift 中都很好,因为编译器已经知道应该返回什么:
var pov = self.scene?.rootNode.childNodesPassingTest{
(child, stop) -> Bool in
return child.camera != nil
}
在一个空白的 SceneKit 项目中进行了测试,并且 print(pov)
没有错误。 (Xcode 7 测试版 2)
我正在尝试翻译 swift SceneKitVehicule apple 示例...但我不知道如何翻译这行代码:
NSArray *pointOfViews = [self.scene.rootNode
childNodesPassingTest:^BOOL(SCNNode *child, BOOL *stop) {
return child.camera != nil;
];
我试过了:
var pointOfViews = self.scene?.rootNode.childNodesPassingTest{
(child, stop) -> Bool; return child.camera != nil }
但不确定结果...
删除分号并添加 in
var pointOfViews = self.scene?.rootNode.childNodesPassingTest { (child, stop) -> Bool in
return child.camera != nil
}
这应该有效。此外,(child: SCNNode, stop: Bool)
或没有类型在 Swift 中都很好,因为编译器已经知道应该返回什么:
var pov = self.scene?.rootNode.childNodesPassingTest{
(child, stop) -> Bool in
return child.camera != nil
}
在一个空白的 SceneKit 项目中进行了测试,并且 print(pov)
没有错误。 (Xcode 7 测试版 2)