Apple Store(Japan)

2007/11/19

NSCollectionView内の個々のViewを選択状態にするには

 Appleのサンプルを調べていると、SourceViewというプロジェクトがあり、その中でNSCollectionViewを使用している。カスタムコードらしきものは全くないのだが、きちんと選択したviewは背景がハイライトする。

 これは個々のViewと対になっているNSCollectionViewItemにそのものずばりのselectedというメソッドがあり、これをIB上でNSBoxのtransparentとbindingしてやることで実現している。

 このやり方を模倣し、sampleプロジェクトを手直し。今回は全くコードの追加をしていない。枠のみをハイライトさせるとしたら、NSCollectionViewItemのサブクラスを作製し、selectedメソッドをオーバライドし、NSCollectionViewItemは対応する個々のviewを[self view]で取得することが出来るので何とかなりそうだ。

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?n

 HMDT 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をリリースしました。口座管理画面で取引内容のソートがうまく行かないことがある件についてはただ今原因究明中。

以前のログ