Jul 23, 2014 AppleのSwift Blogを読んで@auto_closureが面白そうだと思い活用方法を考えてみました。 @auto_closureはclosureを取る引数につけると、呼び出し側はclosureの{}を省略できるようになるというものです。 Swift Blogによると、AppleはSwiftでのassert()などの実装にこれを利用しているそうです。 今回はこれを利用して、条件が成立するまで待つXCTestExpectationを実装してみました。 以下のように使うことができます。 func testBlockOperation() { let queue = NSOperationQueue() let operation = NSBlockOperation(block: { NSThread.sleepForTimeInterval(1.0) })
![auto_closureを利用して条件成立を待つXCTestExpectationをつくる](https://cdn-ak-scissors.b.st-hatena.com/image/square/48da192f3c84c8024b901bd6e52fd552dce0c935/height=288;version=1;width=512/https%3A%2F%2Fblog.ishkawa.org%2Fassets%2Fmisc%2Fblank.png)