*

CoreDataのソートとsectionNameKeyPathの関係

公開日: : 最終更新日:2014/05/20 Tips , , ,

CoreDataをフェッチするときに、indexPathのsectionにできるsectionNameKeyPathの設定ができますが、これに関する覚書的な話題になります。
sectionNameKeyPathにするプロパティはStringでないといけないようですが
(訂正:Stringでなくてもいける模様)、設定しておくとfetchedResultsControllerがsection/row管理が、UITableViewのsection/row管理にマッチして、セクション分けしてもUITableViewの表示が非常にスムーズにできるのが利点です。

このsectionKeyPathをソートする場合は、通常のプロパティと同様にSortDescriptorの配列に入れれば処理をしてくれるのですが、そのときに注意しないといけないのが順番。
sectionKeyPathの項目はNSSortDescriptorのArrayの最初に指定しないと結果がソートされないのです。

作り始めにはグルーピングなしで作ってて、後からsectionNameKeyPathを追加して…とやると罠にハマります(そしてハマりました)。

関連記事

iOS7でカメラ撮影時のステータスバーを消す

UIImagePickerControllerをカメラモードで表示するとステータスバーがカメラの一番

記事を読む

viewDidLoadとviewDidLayoutSubviewsのタイミング

真実の記事にある「コードでiPhone6を識別する」話とほんのちょっとだけ繋がっている話で、view

記事を読む

preferredContentSizeをUINavigationContorllerのPop時に再設定する

popoverで表示しているViewControllerのサイズを、他のViewController

記事を読む

UILabelの改行をInterfaceBuilderから入力する

UILabelの行数は任意に設定できて、「0」を指定すると行数を限定しないで(UILabelのbou

記事を読む

bitbucketをXcode5で使用する

bitbucketは無償で5人までの少人数チーム用のクローズド(非公開)リポジトリを作成できるため、

記事を読む

コードでiPhone6 Plusを識別する簡単な方法

表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu

記事を読む

Bitbucketの画面の日本語化/コミット時に同時プッシュを行う

前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus

記事を読む

UIButtonのLocalizeに関するTips

Storyboardに設置したUIButtonのタイトルのLocalizeをしてたのですが、英語では

記事を読む

iOS7の青色

iOS7の標準UIで使われている、水色に近い青の色についての記事です。 あの色には特に名前を決まっ

記事を読む

Bitbucket課題の記法サンプル

Bitbucketの課題、およびwikiで利用できる記法についての記事です。 利用できる記法に

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑