OGeek|极客世界-中国程序员成长平台

标题: ios - 这个 block 会像我期望的那样工作吗? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 19:59
标题: ios - 这个 block 会像我期望的那样工作吗?

我已经多次使用积木,但在这种情况下,我怀疑它是否会起作用。

我必须检查一堆节点,看看它们是否可见。然后我建立这个方法:

- (BOOL)areNodesVisible {

  __block BOOL visible = YES;
  [self enumerateChildNodesWithName"myNode"
                         usingBlock:^(SKNode *node, BOOL *stop) {
                           if ([node isHidden]) {
                             visible = NO;
                             *stop = YES;
                           }
                         }];

  return visible;
}

我的问题是 block 是异步的,所以这个方法总是会返回YES。

我该如何解决?



Best Answer-推荐答案


您不必在这里使用 block ,您可以使用 children SKNode 的属性(property).

- (BOOL)areNodesVisible
{
    for (SKNode *node in self.children)
    {
        if ([node isHidden] && [node.name isEqualToString"myNode"])
            return NO;

    }
    return YES;
}

关于ios - 这个 block 会像我期望的那样工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22274583/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4