2017-02-19 6 views
-1

에 PFObjects 배열을 정렬하는 방법. 정렬 기능을 사용하여 정렬을 사용하여 정렬 할 수없는 것처럼 보입니다."Sorted by (by :)"배열을 반환하지 않습니다./

PFObject의 배열을 가지고 있는데,이 질문의 범위에 해당하는 것이 무엇인지 모르는 경우 해시 테이블의 배열로 상상하는 것이 좋습니다.

나는이

self.courseArray = self.courseArray.sorted(by: sortClasses) 

를 사용하여 배열을 정렬하기 위해 노력하고있어 및 sortClasses 보이는 같은 : 키 우선 순위가 int를 줄 것이다

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

. 나는이 작업을 수행 할 때

그러나,이 오류

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

어떤 제안을 얻을?

답변

0

NSMutableArray이 아닌 네이티브 스위프트 Array 만 사용하면됩니다.

선언 courseArray

[PFObject]() 

로 키 가입을

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

를 사용하면 네이티브 대응에 NSMutableArray 관련된 다른 API를 변경 될 수 있습니다.

+0

문제는 코드의 다른 지점에 대해 NSMutableArray가 필요합니다.이 문제의 근본 원인을 알고 있습니까? 거기에서부터 내가해야 할 일을 파악할 수 있습니다. –

+0

Swift에서 NSMutableArray를 사용할 필요가 없습니다. Swift의 강력한 유형 시스템에 맞게 * 다른 지점 *을 업데이트하는 것을 고려하십시오. 그만한 가치가있어. 날 믿어. – vadian