CoreDataのソートとsectionNameKeyPathの関係
公開日:
:
最終更新日:2014/05/20
Tips CoreData, NSFetchedResultsController, NSSortDescriptor, sectionNameKeyPath
CoreDataをフェッチするときに、indexPathのsectionにできるsectionNameKeyPathの設定ができますが、これに関する覚書的な話題になります。
sectionNameKeyPathにするプロパティはStringでないといけないようですが(訂正:Stringでなくてもいける模様)、設定しておくとfetchedResultsControllerがsection/row管理が、UITableViewのsection/row管理にマッチして、セクション分けしてもUITableViewの表示が非常にスムーズにできるのが利点です。
このsectionKeyPathをソートする場合は、通常のプロパティと同様にSortDescriptorの配列に入れれば処理をしてくれるのですが、そのときに注意しないといけないのが順番。
sectionKeyPathの項目はNSSortDescriptorのArrayの最初に指定しないと結果がソートされないのです。
作り始めにはグルーピングなしで作ってて、後からsectionNameKeyPathを追加して…とやると罠にハマります(そしてハマりました)。
関連記事
-
-
ENMLからHTMLへの変換
最近EvernoteAPIをいじっているので、コレに関するノウハウをとりあえず断片的に引っかかったと
-
-
Size ClassとUIViewController.view
タイトルの件でちょっとハマったことがある上に、特に日本語情報もStackOverflowからも情報が
-
-
UIAlertControllerの取り扱い
旧聞ですが日本語版のStackOverflowが始動したようですね。 個人的な印象は「フィルタされ
-
-
UIButtonのLocalizeに関するTips
Storyboardに設置したUIButtonのタイトルのLocalizeをしてたのですが、英語では
-
-
Xcode5.1のInterfaceBuilderにおける地味な変更点
iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N
-
-
iOS7でカメラ撮影時のステータスバーを消す
UIImagePickerControllerをカメラモードで表示するとステータスバーがカメラの一番
-
-
iOS8のシミュレーターでLocalizationのテストをする
iOS8.1のシミュレーターでは、従前できていたシミュレーター内での「設定」(Setting)からの
-
-
UILabelの改行をInterfaceBuilderから入力する
UILabelの行数は任意に設定できて、「0」を指定すると行数を限定しないで(UILabelのbou
-
-
iOS6時代のアプリのiOS7への対応
やや古い情報になるが、iOS7対応に関して自分がやったことの覚え書き。いろんな所から拾って来た情
