0001 https://github.com/anpol/DispatchKit
0008 import Foundation
0009
0010 public extension DispatchQueue {
0011 public func getSpecific<T: AnyObject>(key: UnsafePointer<Void>) -> T? {
0012 let specific = dispatch_queue_get_specific(rawValue, key)
0013 return dk_takeUnretained(specific)
0014 }
0015
0016 public func setSpecific<T: AnyObject>(key: UnsafePointer<Void>, _ specific: T?) {
0017 dispatch_queue_set_specific(rawValue, key, dk_passRetained(specific), dk_release)
0018 }
0019 }
0020
0021 public extension DispatchCurrentQueue {
0022 public func getSpecific<T: AnyObject>(key: UnsafePointer<Void>) -> T? {
0023 let specific = dispatch_get_specific(key)
0024 return dk_takeUnretained(specific)
0025 }
0026 }
0027