2015-10-16 139 views
0

我試圖從解析中提取數據並將其呈現在表格視圖中。由於出現錯誤,我無法編譯代碼。從解析到表格視圖控制器中提取數據

這裏是我的代碼:

import UIKit 
import Parse 

class EventsTableViewController: UITableViewController { 

    // Array to store event timeline objects from parse 
    var eventtimelineData:NSMutableArray = NSMutableArray() 


    override func viewDidAppear(animated: Bool) { 
     self.loadData() 
    } 


    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 


    @IBAction func loadData(){ 

     // first remove the contents from the array 
     eventtimelineData.removeAllObjects() 

     var findTimelineData:PFQuery = PFQuery(className: "Events") 

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

      // if query doesn't return any error 
      if !error{ 
       for object:PFObject! in objects{ 
        self.timelineData.addObject(object) 
       } 

       let array:NSArray = self.timelineData.reverseObjectEnumerator().allObjects 
       self.timelineData = array as NSMutableArray 

       self.tableView.reloadData() 


      } 

     } 
    } 

這是我得到的錯誤:

([AnyObject]!, NSError!) -> Void' is not convertible to 'PFArrayResultBlock?

能否請你幫我想出解決辦法?謝謝。

+0

我相信NSError!應該是NSError ?.如果你想,你可以寫對象,錯誤而不是對象:[AnyObject]!,錯誤:NSError! –

+0

嘗試像這樣(結果:[AnyObject],錯誤:NSError) - >無效 –

+0

感謝喬希,它的工作。 –

回答

0

想通了。解析更新了他們的查詢語法。這工作。

@IBAction func loadData(){ 

     // first remove the contents from the array 
     eventtimelineData.removeAllObjects() 


     let query = PFQuery(className:"Events") 
     query.whereKey("CreatedBy", equalTo:PFUser.currentUser()!) 

     query.findObjectsInBackgroundWithBlock { 
      (objects, error) -> Void in 

      if error == nil { 
       // The find succeeded. 
       print("Successfully retrieved \(objects!.count) scores.") 

       // Do something with the found objects 
       if let objects = objects as? [PFObject] { 
        for object in objects { 

         self.eventtimelineData.addObject(object) 
         print(object.objectId) 
         print(object.description) 
        } 

        let array:NSArray = self.eventtimelineData.reverseObjectEnumerator().allObjects 
        self.eventtimelineData = array.mutableCopy() as! NSMutableArray 
        self.tableView.reloadData() 

       } 


      } else { 
       // Log details of the failure 
       print("Done") 
       print("Error: \(error!) \(error!.userInfo)") 
      } 
     } 

    } 
相關問題