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を追加して…とやると罠にハマります(そしてハマりました)。
関連記事
-
-
UIButtonのLocalizeに関するTips
Storyboardに設置したUIButtonのタイトルのLocalizeをしてたのですが、英語では
-
-
Xcode5.1のInterfaceBuilderにおける地味な変更点
iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N
-
-
HTMLParserを修正する
HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser
-
-
UIActionSheetの文字がブレて多重表示される
UIActionsheetを使っていて、iOS7/iPadの組み合わせで起こる不具合らしき挙動が起こ
-
-
iOS7でのPopover内サイズの指定
UIPopover内で表示する場合のViewControllerのコンテンツサイズ設定に関してのメモ
-
-
plistファイルに色を入れる
plistファイル中にUIColorを入れたい!という場合。普通RGBAの値を数値で入れるとかするけ
-
-
NSAttributedStringをローカライズする方法
NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手
-
-
ENMLからHTMLへの変換
最近EvernoteAPIをいじっているので、コレに関するノウハウをとりあえず断片的に引っかかったと
-
-
UITableViewのセクションヘッダをStoryboardで作る時の参考
UITableViewのセクションヘッダをカスタムして作る際に、セルと同様にプロトタイピングするため