我已经多次使用积木,但在这种情况下,我怀疑它是否会起作用。
我必须检查一堆节点,看看它们是否可见。然后我建立这个方法:
- (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。
我该如何解决?
您不必在这里使用 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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |