will cohen will cohen - 1 year ago 185
Swift Question

Swift 3.0 unresolved identifier for DispatchQueue

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()

self.posts.insert(postMod, atIndex: 0)

DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {

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.

Answer Source

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()) {
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download