Skip to content

Instantly share code, notes, and snippets.

@gottesmm
Last active November 2, 2016 20:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gottesmm/c6d50f863b9264f093a2451ebbeb976c to your computer and use it in GitHub Desktop.
Save gottesmm/c6d50f863b9264f093a2451ebbeb976c to your computer and use it in GitHub Desktop.
import Foundation
typealias CallbackBlock = @convention (block) () -> Void
func main() -> CallbackBlock {
let handler: CallbackBlock = { print("yes") }
let x = NSMutableDictionary()
x["foo"] = handler
let handler2 = x["foo"] as! CallbackBlock
return handler2
}
let _ = main()
func main2() -> CallbackBlock {
let handler: CallbackBlock = { print("yes") }
let x = NSMutableDictionary()
x["foo"] = handler
let handler2 = unsafeBitCast(x["foo"] as AnyObject, to: CallbackBlock.self)
return handler2
}
let _ = main2()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment