2015-10-27 2 views
1
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in 

     if error == nil { 
      if let objects = objects as? [PFObject] { 
       for object in objects { 
        print("woot") 
       } 
      } 

     } else { 
      // Log details of the failure 
      print("Error: \(error) \(error!.userInfo)") 
     } 
     dispatch_async(dispatch_get_main_queue()){ 
      //reload the table view 

      query.cachePolicy = PFCachePolicy.NetworkElseCache 
     } 

    } 

По какой-то причине строку:Попытка создать запрос объекта в Parse

query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in 

дает мне ошибку:

Cannot convert value of type '([AnyObject]?, NSError?) -> void to expected argument type 'PFQueryArrayResultBlock?'

Я понятия не имею, как исправить ошибку.

Спасибо!

+1

Первым параметром блока должен быть объект: [PFObject]? ' – danh

ответ

0

В результате блок должен быть как следующее:

query.findObjectsInBackgroundWithBlock { 
    (objects: [PFObject]?, error: NSError?) -> Void in 

    if error == nil { 
     if let objects = objects as? [PFObject] { 
      for object in objects { 
       print("woot") 
      } 
     } 

    } else { 
     // Log details of the failure 
     print("Error: \(error) \(error!.userInfo)") 
    } 
    dispatch_async(dispatch_get_main_queue()){ 
     //reload the table view 

     query.cachePolicy = PFCachePolicy.NetworkElseCache 
    } 
} 

См Parse docs на запрос.

0

Измените 'AnyObject' на 'PFObject' в первой строке. Parse v1.9.0 изменил функции выборки PFObject для совместимости с iOS 9/Swift 2 (https://parse.com/docs/downloads).

Вам не придется бросать 'как? [PFObject] 'в строке 4.

0

Parse больше не использует AnyObject для Swift 2.0. Так что для изменения коды:

query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in 

к

query.findObjectsInBackgroundWithBlock { (objects:[PFObject]?, error:NSError?) -> Void in 

и так как вам больше не нужно бросать объекты как PFObject вы можете сократить его:

if error == nil { 
     for object in objects! { 
       print("woot") 
     } 
    } else {... 

Надеется, что это помогло!