Returning value from a Parse function in swift

Bardia Modaberi

I want to return a value from a parse function in swift but I'm running into a problem... When I try to return the value in the function I get "Cannot convert value of type 'Int' to closure result type '()'"

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
    let query = PFQuery(className: "people")
    query.countObjectsInBackground
    { (count, error) in
        
        return Int(count)
    }
}
Mat

You are returning a closure and numberOfRowsInSection takes an Int.

I am not really sure what is the logic behind but what you can do is:

// declare this variable 
var numberOfSections:Int?

// then inside a function or viewDidLoad
let query = PFQuery(className: "people")
query.countObjectsInBackground
{ (count, error) in
    self.numberOfSections = Int(count)
    // finally you force the tableView to reload
    DispatchQueue.main.async {
        self.tableView.reloadData()
    }
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
   return numberOfSections ?? 0 
  // maybe you want to return at least one section when 
 //  you var is nil so can can change it to ?? 1
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related