如何停止块枚举?
myArray.enumerateObjectsUsingBlock( { object, index, stop in
//how do I stop the enumeration in here??
})
Run Code Online (Sandbox Code Playgroud)
我知道你在obj-c中这样做:
[myArray enumerateObjectsUsingBlock:^(id *myObject, NSUInteger idx, BOOL *stop) {
*stop = YES;
}];
Run Code Online (Sandbox Code Playgroud) 我正在使用Swift在SpriteKit中制作游戏.
在Objective-C中,我可以使用以下方法:
(void)enumerateChildNodesWithName:(NSString *)name usingBlock:(void (^)(SKNode *node, BOOL *stop))block
Run Code Online (Sandbox Code Playgroud)
对此执行操作*node,但我无法在Swift中使用此功能.基本上,我不知道如何在Swift中引用该节点.
这是我正在使用的代码,但我遇到了"usingBlock:"部分的问题.我已经尝试了许多小时,但没有成功.请帮忙!
func spawnEnemy() -> () {
let enemy = SKSpriteNode(imageNamed: "enemy")
enemy.name = "enemy"
enemy.position = CGPointMake(100, 100)
self.addChild(enemy)
}
func checkCollisions() -> () {
self.enumerateChildNodesWithName("enemy", usingBlock: ((SKNode!, CMutablePointer<ObjCBool>) -> Void)?)
}
Run Code Online (Sandbox Code Playgroud)