Search code examples
objective-cnsarrayblockswiftenumeration

How to stop enumerateObjectsUsingBlock Swift


How do I stop a block enumeration?

    myArray.enumerateObjectsUsingBlock( { object, index, stop in
        //how do I stop the enumeration in here??
    })

I know in obj-c you do this:

    [myArray enumerateObjectsUsingBlock:^(id *myObject, NSUInteger idx, BOOL *stop) {
        *stop = YES;
    }];

Solution

  • In Swift 1:

    stop.withUnsafePointer { p in p.memory = true }
    

    In Swift 2:

    stop.memory = true
    

    In Swift 3 - 4:

    stop.pointee = true