2015-10-16 96 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)") 
      } 
     } 

    } 
相关问题