2017-04-05 17 views
-4

enter image description hereアルファベットでTableViewベースのセルをソートする方法は? (CoreData)(スウィフト3)

は、どのように私はアルファベット応じて細胞を選別し、キャップはcoreDataにロック無視ことができますか? 、物事(リスト)の配列を取得するためにあなたのコードでは

FUNCのattemptFetch(){

let fetchRequest: NSFetchRequest<Item> = Item.fetchRequest() // fetch the Item. 


    // display it by Sort. 

    let priceSort = NSSortDescriptor(key: "price", ascending: true) 
    let titleSort = NSSortDescriptor(key: "title", ascending: true) 
    let dateSort = NSSortDescriptor(key: "created", ascending: false) 


    if segment.selectedSegmentIndex == 0 { 
     fetchRequest.sortDescriptors = [dateSort] 

    } else if segment.selectedSegmentIndex == 1 { 
     fetchRequest.sortDescriptors = [priceSort] 

    } else if segment.selectedSegmentIndex == 2 { 
     fetchRequest.sortDescriptors = [titleSort] 

    } 
+1

NSSortDescriptorです。しかし、どのようにデータを取得するのですか?あなたのコードは何ですか? – Larme

+0

はアルファベットに従ってそれをソートし、キャップのLockを無視したいだけです。 –

+0

データを取り出す場所にコードを追加してください – Sneha

答えて

1

はちょうどあなたがtitleプロパティでソートしたいときinit(key:​ascending:​)の代わりにNSSortDescriptorinit(key:​ascending:​selector:​)を使用する必要がある小さな変更を加える必要があります。

let titleSort = NSSortDescriptor(key: "title", ascending: true, selector: #selector(NSString.localizedCaseInsensitiveCompare)) 
+0

だから私は使用する必要があります** titleSort = NSSortDescriptor(キー:、昇順:、セレクタ:)** –

+0

@YuOnはいそれを持つセレクタを追加します –

+0

@YuOnあなたは私の答えを正しくチェックしましたか? titleSort = NSSortDescriptor(key: "title"、昇順:true、セレクタ:(NSString.localizedCaseInsensitiveCompare))NSSortDescriptor(キー: "タイトル"、昇順:セレクタ:(NSString.localizedCaseInsensitiveCompare(NSString.localizedCaseInsensitiveCompare) ))) ' –

0

に次のコードを追加します。

これは試行のための私のコードはをフェッチアルファベット順に並べ替えます。

class func fetchAllThingsFromCoreData() -> [Thing] { 

    let context:NSManagedObjectContext = MyCoreDataManager.sharedInstance.managedObjectContext 
    let request:NSFetchRequest<Thing> = self.fetchRequest() 

    request.sortDescriptors = [NSSortDescriptor(key: "thingName", ascending: true)] 
    let myThingsCoreDataArray = try? context.fetch(request) 
    return myThingsCoreDataArray ?? [] 
} 
関連する問題