[swift-users] CGPathApply

Quinn "The Eskimo!" eskimo1 at apple.com
Fri May 13 02:57:24 CDT 2016


On 13 May 2016, at 06:24, Zach Waldowski via swift-users <swift-users at 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




More information about the swift-users mailing list