そして、その延長でiPhone用「PropertyListViewerもどき」を作った。
「PropertyListViewer」はテキストのプロパティリストファイルを読み込んで、階層構造をoutline viewに展開するアプリ。上半分がoutline View で下半分はテキストファイルをそのまま出力するtext view。プロパティリストのデータ構造をoutline viewに展開するために内部構造に変換し、それを表示する。outline view はデータ構造に親子関係があるときの表示に便利なビューで折りたたみできる。
view自体はデータをもたず、表示のタイミングでviewがdataSourceへデータを問い合わせる。dataSource は普通はコントローラで実装される。outline view なら NSOutlineViewDataSource プロトコル、table view は NSTableDataSource、iPhoneのtableならUITableViewDataSource。
NSOutlineViewDataSourceの必須メソッドは4つ。
- outlineView:child:ofItem:
- outlineView:isItemExpandable:,
- outlineView:numberOfChildrenOfItem:
- outlineView:objectValueForTableColumn:byItem:
スクリーンキャプチャで表示しているのは、UIKit.frameworkに含まれるiPhone のソフトウェアキーボードで利用される文言for日本語のプロパティリスト(keyboard-ja.plist)。
はまったこと
- データ構造の理解
学んだこと
- NSDictionaryの使い方
- outline viewとtable view 全般、概要
そしてiPhoneでSDKDoc見れるビューアーがあるとうれしいかもと思う、今日この頃。
0 件のコメント:
コメントを投稿