Xcode报错:Cannot find ‘DispatchQueue’ in scope
Xcode报错:Cannot find ‘DispatchQueue’ in scope

Xcode报错:Cannot find ‘DispatchQueue’ in scope

问题描述

在Xcode Playground中,测试闭包代码:

func performAsyncTask(completion: @escaping () -> Void) {
    // 异步任务
    DispatchQueue.global().async {  // 报错行
        // 模拟耗时操作
        sleep(2)    // 报错行
        print("异步任务完成")
        
        // 调用闭包
        completion()
    }
}

performAsyncTask {
    print("执行完成后的回调")
}

发现报错为:

Cannot find 'DispatchQueue' in scope
Cannot find 'sleep' in scope

问题在于DispatchQueue 和 sleep 等功能属于Foundation框架。

因此,在Playground中使用它们时需要显式导入。

import Foundation
func performAsyncTask(completion: @escaping () -> Void) {
    // 异步任务
    DispatchQueue.global().async {
        // 模拟耗时操作
        sleep(2)
        print("异步任务完成")
        
        // 调用闭包
        completion()
    }
}

performAsyncTask {
    print("执行完成后的回调")
}

类似问题

Xcode报错:Cannot infer contextual base in reference to member ‘utf8’: https://fangjunyu.com/2024/10/31/xcode%e6%8a%a5%e9%94%99%ef%bc%9acannot-infer-contextual-base-in-reference-to-member-utf8/

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注