“Sorted(by :)”没有返回一个数组/如何在swift中对PFObjects数组进行排序

时间:2017-02-19 05:45:29

标签: ios arrays swift sorting pfobject

所以我似乎无法使用内置排序功能的swifts进行排序。

我有一个PFObjects数组,如果你不知道这个问题的范围是什么,最好把它想象成一个hashTables数组。

我正在尝试使用此

对数组进行排序
self.courseArray = self.courseArray.sorted(by: sortClasses)

和sortClasses看起来像:

    func sortClasses(_ x: Any, _ y:Any) ->Bool{
    return ((x as! PFObject).object(forKey: "priority") as! Int) < ((y as! PFObject).object(forKey:"priority") as! Int)
}

关键优先级将给出Int。

但是,当我这样做时,我收到此错误

Cannot assign value of type '[NSFastEnumerationIterator.Element]' to type 'NSMutableArray'

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

只使用原生Swift Array而不是NSMutableArray

courseArray声明为

[PFObject]() 

并使用密钥订阅

func sortClasses(_ x: Any, _ y:Any) -> Bool {
    return (x as! PFObject)["priority"] as! Int < (y as! PFObject)["priority"] as! Int
}

您可以将与NSMutableArray相关的其他API更改为本地对应的。