dispatch_queue_t!和dispatch_queue_t有什么区别?

3

这个标题的意思是dispatch_get_global_queue函数返回全局队列或者NULL

 * @result
 * Returns the requested global queue or NULL if the requested global queue
 * does not exist.
 */
@available(OSX 10.6, *)
@warn_unused_result
public func dispatch_get_global_queue(identifier: Int, _ flags: UInt) -> dispatch_queue_t!

为什么返回值是dispatch_queue_t!而不是可选的dispatch_queue_t?
1个回答

4
dispatch_queue_t!是一个可选项,但它是一个隐式展开的可选项(可以避免每次使用时手动展开)。当您在Cocoa API中看到隐式展开的可选项时,有时只是意味着他们尚未审核该特定API的空值性。或者他们只是想节省您手动展开可选项的时间。或者这是GCD对象采用非标准接口的产物(它返回ARC兼容对象,但不使用通常的Objective-C *对象引用),因此Swift桥接可能无法优雅地处理它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接