【问题标题】:stopping a block enumeration fo a NSDictionary停止 NSDictionary 的块枚举
【发布时间】:2012-07-17 04:43:43
【问题描述】:

如果我正在执行以下操作,如何在此处停止枚举?我认为文档说要设置 stop = TRUE。但是当我在块内这样做时,它说它不是不可分配的。

 [self.visibleViewControllers_ enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {

            if (CGRectIntersectsRect(visibleRect, viewRect)) {
               //break here
            }
        }];

【问题讨论】:

  • stop 是一个指针。您没有将 stop 设置为 true,因为它是一个指针。你写 *stop = YES

标签: iphone objective-c ios ipad


【解决方案1】:

*stop 设置为YES

[self.visibleViewControllers_ enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {

            if (CGRectIntersectsRect(visibleRect, viewRect)) {
               *stop =YES;
               return;
            }
        }];

【讨论】:

【解决方案2】:

对于 SWIFT 2:

Dict.enumerateKeysAndObjectsUsingBlock { (key, value, stop) -> Void in

            if(//Something){
                 //Do Something
            }
            else {
                //To Stop
                stop.memory = true
            }
        }

【讨论】:

    猜你喜欢
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多