首页 文章

DispatchQueue的Swift 3.0未解析标识符

提问于
浏览
2

我一直试图找到这个问题几个小时的答案,但仍无济于事 . 我想使用以下代码:

func fetchPosts() {
    ref.child("Amore").child("Posts").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
        if let dictionary = snapshot.value as? [String: AnyObject] {
            let postMod = ReviewsPostModel()

            postMod.setValuesForKeysWithDictionary(dictionary)
            self.posts.insert(postMod, atIndex: 0)
        }

        DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
            self.tableView.reloadData()
        }
    })
}

在Swift 3.0.1中,但它说“DispatchQueue”是一个未解析的标识符 . 我已导入Dispatch,并确保该类指向正确的目标文件 . 非常感谢任何和所有的帮助 .

2 回答

  • 0

    虽然你说你使用的是Swift 3.0.1,但事实并非如此 . 您正在使用Swift 2.3 . 因此,没有DispatchQueue这样的东西 . 您的代码需要像这样编写:

    let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(0.2 * Double(NSEC_PER_SEC)))
    dispatch_after(delayTime, dispatch_get_main_queue()) {
        self.tableView.reloadData()
    }
    
  • 6

    最近,当我在Linux下运行它时,我写的一个简单的swift脚本就产生了这个错误 . 相同的脚本在macOS下运行良好 .

    出于好奇,我在脚本顶部添加了一个'import Dispatch',然后在Linux上运行正常 .

相关问题