我正在使用快速和解析。我使用了'query.orderbyDescending',但是在某些方面它并不完美。我想安排人们的总得分,但是顺序看起来像这样(例如9、7、32、21、15 ...)。好像编码可以识别数字的第一位。我该如何解决?这是我的代码。
谢谢!
class IndividualStatsTVC: UITableViewController {
var postsArray = [PFObject]()
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(patternImage: UIImage(named: "background2.png")!)
tableView.separatorColor = UIColor.orangeColor()
fetchData()
print(postsArray)
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return postsArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("IndiStats", forIndexPath: indexPath) as! IndividualStatsTVCell
cell.yourname?.text = postsArray[indexPath.row].objectForKey("Name") as? String
cell.label1?.text = postsArray[indexPath.row].objectForKey("WIN") as? String
cell.label2?.text = postsArray[indexPath.row].objectForKey("DRAW") as? String
cell.label3?.text = postsArray[indexPath.row].objectForKey("LOSE") as? String
cell.label4?.text = postsArray[indexPath.row].objectForKey("AceError") as? String
cell.label5?.text = postsArray[indexPath.row].objectForKey("TOTAL") as? String
return cell
}
//cell color
func colorForIndex(index: Int) -> UIColor {
let itemCount = postsArray.count - 1
let color = (CGFloat(index) / CGFloat(itemCount)) * 1.0
return UIColor(red: 1.0, green: color, blue: 0.0, alpha: 0.1)
}
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell,
forRowAtIndexPath indexPath: NSIndexPath) {
cell.backgroundColor = colorForIndex(indexPath.row)
}
func fetchData(){
//empty postsArray
postsArray = []
//bring data from parse
let query = PFQuery(className: "IndividualStats")
query.orderByDescending("TOTAL")
// postsArray.sortInPlace({($0["TOTAL"] as! Int) > ($1["TOTAL"] as! Int)})
query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error) -> Void in
if error == nil && objects != nil{
for object in objects! {
self.postsArray.append(object)
print(self.postsArray)
self.tableView.reloadData()
}
}
}}
最佳答案
从您的代码看来,TOTAL
是一个String
。如果是这样,则排序顺序将是预期的。您需要将TOTAL
存储为数字。
关于swift - 快速解析查询orderbyDescending不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34824269/