2016-08-27 3 views
0

Parseから "orderByAscending"を使用してデータを取得すると、トルコ文字(ç、ö、ü、vs)および上位の文字に対して結果が正しく返されません。iOSのParse OrderByAscendingの結果がトルコ語の文字に間違っています

結果の最後にすべてのトルコ文字が表示されます。 結果の例:

現在の結果。これは間違っています---- Ali、Ceyda、Mehmet、Zeynep、Çan、Ömer

期待される結果。これは----アリ、Ceyda、することができ、メフメット、オメル、ゼイネップ

真である

アッパー文字の例:

現在の結果。これは間違っています---- BBC、Back、Bistro

期待される結果。

func getData(){ 



    let Query = PFQuery(className: "Table") 
    Query.limit = 1000 
    Query.orderByAscending("Name") 

    Query.findObjectsInBackgroundWithBlock { (objects, error) in 


     if error != nil { 

      print(error) 



     }else{ 


      for object in objects! { 



       let name = object["Name"] as! String 
       let link = object["Link"] as! String 
       let logo = object["Logo"] as! PFFile 
       let isPremium = object["isPremium"] as! Int 
       let objectID = object.objectId 




       let LogoUrl = logo.url 



       Model.sharedInstance.items.addItem(name, link: link, logo: LogoUrl!, isPremium: isPremium,objectID:objectID!) 


      } 



      NSOperationQueue.mainQueue().addOperationWithBlock({ 

       self.tableView.reloadData() 


      }) 


     } 



    } 

} 

どのように私はこのような状況を処理することができます。これは、以下の真----バック、BBC、ビストロ

私のコードですか?

ありがとうございました。

答えて

1

は、手動で(潜在的に欠陥のある)、サーバのバックエンドで返されるオブジェクトの配列をソートできます。

彼のコードは私が標準スウィフト文字列比較演算子に発注オフパスを提供する。なお
Query.findObjectsInBackgroundWithBlock { (objects, error) in 

    if error != nil { 
     print(error) 
    } else { 

     // sort the objects by hand 
     let sortedObjects = objects!.sort {   // in Swift 3, use "sorted" instead 
      let nameA = $0["Name"] as! String 
      let nameB = $1["Name"] as! String 

      return nameA < nameB 
     } 

     for object in sortedObjects { 
       // do your work with the ordered objects 
     } 
     NSOperationQueue.mainQueue().addOperationWithBlock({ 
      self.tableView.reloadData() 
     }) 
    } 
} 

(「<」) 。他の方法を使用してクエリ結果を手動でソートすることもできますas shown in this question

+0

ありがとうございます。トルコ文字の問題は修正されていますが、上の文字の問題は引き続き続きます。 –

+0

大文字でソートがうまくいけば、 '.lowercased'という文字列を使って各文字列の小文字を比較します。 – cpimhoff

関連する問題