可选链接将右侧结果放在可选元素内。因此,如果
run()返回
T,则
x?.run()返回
T?。由于
run()返回
Void(aka
()),这意味着整个可选链表达式都具有类型
Void?(或
()?)。
当闭包只有一行时,该行的内容将隐式返回。因此,如果只有一行,就好像您写了一样
returnweakSelf.rscript?.run()。因此,您正在返回类型
Void?,但是
dispatch_async需要一个返回的函数
Void。因此它们不匹配。
一种解决方案是添加另一行,该行明确不返回任何内容:
dispatch_after(time, dispatch_get_main_queue()) { weakSelf.rscript?.run() return}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)