Reputation: 75
I have been trying to find the answer to this for hours now but still no avail. I am trying to use the following code:
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()
}
})
}
In Swift 3.0.1, but it is saying that "DispatchQueue" is an unresolved identifier. I have imported Dispatch, and made sure that the class was pointed at the right target file. Any and all help is greatly appreciated.
Upvotes: 2
Views: 2182
Reputation: 1790
Recently, a simple swift script I had written was yielding this error when I ran it under Linux. The same script had worked fine under macOS.
Out of curiosity, I added an 'import Dispatch' to the top of the script and it then ran fine on Linux.
Upvotes: 8
Reputation: 535168
Although you say you are using Swift 3.0.1, you are not. You are using Swift 2.3. Thus, there is no such thing as DispatchQueue. Your code needs to be written like this:
let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(0.2 * Double(NSEC_PER_SEC)))
dispatch_after(delayTime, dispatch_get_main_queue()) {
self.tableView.reloadData()
}
Upvotes: 0