2007/11/19
2007/11/18
Sampleをアップデート
iWeb上で書いた解説と実際のプロジェクト内のコードが異なる部分があったのを修正し、新しいコードをサンプルプロジェクトに追加。NSCollectionViewに限らず、CoreDataと係るviewは扱うNSManagedObject(またはそのサブクラス)の配列ではなく、集合を表示することになる。これは順序が定まっていないということなので、サンプルを実行するたびにデータの表示される順番がランダムになってしまう。
そのため、ソートしたいエンティティに基づき、NSSortDescriptorをNSArrayControllerにセットしてやる必要がある。
サンプルではデータが追加される順番にソートされるようにしてみた。ImageCellの-(void)awakeFromInsertのコードがそれだ。後は、ImageCell Array ControllerにindexでソートされるようNSSortDescriptorをセットしてやれば良い。
次のサンプルアップデートは任意のImageCellのviewがクリックされたら、選択された部分の枠をハイライトすることに挑戦する予定。
2007/11/17
NSCollectionViewを使う
MacOS X 10.5 Leopardは発売日にApple storeから手に入れ、時間のあるときにはXcodeと戯れる日々。10.5から使えるようになったNSCollectionViewはドキュメントがほとんどなく、使えるようになるには一苦労しそうだが、何とかサンプルらしきコードが書けたので公開してみる。
画像データをファイル名とユーザが設定できるランキングを同時に表示できるようにしてみた。
NSCollectionViewItemがモデルとなるNSManagedObjectと個々のViewとの橋渡しをする役割を持っているのがミソ。
実は数独パズルのためのアプリをまず作ってみたのだが、MVCをきちんと分けて考えないと、よけいなコードが入ってくる。viewの初期化にはinitWithFrameではなく、initWithCoderを使う必要がある等ちょいと癖があるのだが、そちらのコードはまた別の機会に公開する予定。
2007/01/25
久々にあなたの家計簿バグフィックス
CoreDataに対応してからリリースしようと思っていた次期バージョンですが、CoreDataが多機能な分なかなか一筋縄ではいきません。
現行バージョンの不具合報告がありましたので、バグフィックス版を出しておきます。機能が増えているわけではありません。
- 口座管理の銀行取引部分で日付等でソートできない不具合を修正。
次期バージョンはしばしお待ちを。
2006/06/09
あなたの家計簿Ver.1.34リリース
マイナーバグフィックスバージョンです。ダウンロードは右側のFilesメニューからどうぞ。
- 一日のまとめ画面で収入・メモの幅を変更したとき画面が乱れるのを修正。
- 固定費ドロワで入力した項目が保存されないときがあるのを修正。?r?n
なお、次期バージョンからはMacOS X 10.4 Tigerの新機能[CoreData]を導入するため、動作環境はMacOS X 10.4以上となります。ご了承ください。
2006/05/29
Cocoaのバイブル HMDT Third Edition 発売!
いつもCocoaでソースを書く時にはお世話になる本が何冊かある。アーロン・ヒレガス氏の書いたMac OS X Cocoaプログラミングや木下誠氏の書いたHappy Macintosh Developing Time 2nd editionがそうだ。
この度新たに木下誠氏の書いたHappy Macintosh Developing Time [Third Edition]が発売になった。
?r?nHMDT 2nd editionではCocoa bindingについて詳細に解説があり重宝していたのだが、MacOS X Tigerになって登場したCore Dataについては、参考となるドキュメントも少なく試行錯誤することが多い。(少なくとも自分の場合は)
3rd editionでは待望のCore Dataについて解説があるほか、QuickTimeもPDFもXMLも解説が加わっているらしい。MacOS Xのプログラマには必携の書となるだろう。Happy Macintosh Developing TIME!は定期巡回ページなのだが、発刊の発表があってからアマゾンを毎日チェックし、昨日早速ポチッとしたが、なんと木下氏のwebページでHMDT 3rd editionのプレゼント企画をやっている。3名様にプレゼントするそうです。
プレゼントの詳細はこちらから。2006/03/11
あなたの家計簿バグフィックス
マイナーバグの修正のみで恐縮ですが、週のまとめでの画面表示の乱れを修正したVer.1.333をリリースしました。口座管理画面で取引内容のソートがうまく行かないことがある件についてはただ今原因究明中。

Appleのサンプルを調べていると、SourceViewというプロジェクトがあり、その中でNSCollectionViewを使用している。カスタムコードらしきものは全くないのだが、きちんと選択したviewは背景がハイライトする。
これは個々のViewと対になっているNSCollectionViewItemにそのものずばりのselectedというメソッドがあり、これをIB上でNSBoxのtransparentとbindingしてやることで実現している。
このやり方を模倣し、sampleプロジェクトを手直し。今回は全くコードの追加をしていない。枠のみをハイライトさせるとしたら、NSCollectionViewItemのサブクラスを作製し、selectedメソッドをオーバライドし、NSCollectionViewItemは対応する個々のviewを[self view]で取得することが出来るので何とかなりそうだ。