相关疑难解决方法(0)

如何停止enumerateObjectsUsingBlock Swift

如何停止块枚举?

    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)

enumeration block objective-c nsarray swift

28
推荐指数
4
解决办法
8930
查看次数

如何在SpriteKit中使用Swift的"enumerateChildNodesWithName"?

我正在使用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)

enumeration objective-c-blocks swift

17
推荐指数
1
解决办法
9706
查看次数