On 13 May 2016, at 06:24, Zach Waldowski via swift-users <swift-users@swift.org> wrote:
> Problems are just like any context-based C API, you need to squeeze all … and the best way to do that is to use a closure. typealias CGPathApplierBlock = @convention(block) (CGPathElement) -> Void func CGPathApplyBlock(path: CGPath, @noescape block: CGPathApplierBlock) { CGPathApply(path, unsafeBitCast(block, UnsafeMutablePointer<Void>.self), { info, element in let block2 = unsafeBitCast(info, CGPathApplierBlock.self) block2(element.memory) }) } Share and Enjoy -- Quinn "The Eskimo!" <http://www.apple.com/developer/> Apple Developer Relations, Developer Technical Support, Core OS/Hardware _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users