Swift 3.0 未解析的 DispatchQueue 标识符
Swift 3.0 unresolved identifier for DispatchQueue
几个小时以来,我一直在努力寻找这个问题的答案,但仍然无济于事。我正在尝试使用以下代码:
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,并确保 class 指向正确的目标文件。非常感谢任何帮助。
虽然您说您使用的是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()
}
最近,当我在 Linux 下 运行 时,我编写的一个简单的 swift 脚本出现了这个错误。相同的脚本在 macOS 下运行良好。
出于好奇,我在脚本的顶部添加了一个 'import Dispatch',然后它 运行 在 Linux 上很好。
几个小时以来,我一直在努力寻找这个问题的答案,但仍然无济于事。我正在尝试使用以下代码:
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,并确保 class 指向正确的目标文件。非常感谢任何帮助。
虽然您说您使用的是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()
}
最近,当我在 Linux 下 运行 时,我编写的一个简单的 swift 脚本出现了这个错误。相同的脚本在 macOS 下运行良好。
出于好奇,我在脚本的顶部添加了一个 'import Dispatch',然后它 运行 在 Linux 上很好。