2010年8月11日水曜日

diffツール FileMerge について

常日頃、Windows環境であれこれやっていると、OS X環境下だと、こなれたツールが無くて、困る事があります。ファイルの変更などを確認したり、似通ってるソースの違う部分の確認など行う事は日常茶飯事です。

そんなこんなで、手頃なdiffツールは無いかと長い事、思っていました。
#コマンドラインでdiffを取ってあ〜だこ〜だするのも不慣れであえて遠回りしてました。

で、本日FileMergeなるアプリがインストールされているのを発見しました。以下がインストールされているパスです。

  /Developer/Applications/Utilities/FileMerge

これも、Apple Developer Toolsのツール群に含まれており、XCodeをインストールした際についでにインストールされたようです。Windows環境で普段使っているWinMergeと違って、かなりシンプルなアプリで、Ascii形式のファイルしか受け付けてもらえないようです。


出来れば、xlsファイルやpdfファイルなども比較できると良かったんですが、それは贅沢かも。。。


で、あんま使い込んでないので、使い心地は分かりませんが、無いよりはましなんで、今後使ってみようと思います。

ディクショナリとプロパティリスト

オライリーの『iPhone SDKアプリケーション開発ガイド』の11章に記述のある、ディクショナリとプロパティリストについてメモ。

これ、アプリケーションを作成していて、普通に出会う、データ入力などをファイルとして管理するのに便利そうです。プロジェクトのリソースに追加して、任意のデータ構造をXML形式にて格納できます。(XCode上からはXMLとしては意識出来ません。リストを編集する専用アプリ"Property List Editor"なるXMLエディタより編集します。)

クラスとして、プロパティリストを管理するのが、ディクショナリで、NSDictionaryがそれにあたります。まだ詳しく違いについて調べてないのですが、変更や新規作成など、データアクセスを伴う場合はNSMutableDictionaryを使うみたいです。

各種サンプルをAppleのサイトから持って来た際にソースファイルの中にデータを記述した所がないので、どこに記述しているのか調べていたのですが、サンプルの段階からデータとプログラムを分けて提供するとは、かなり洗練されたイメージを受けました。さすが、Appleですね。


また、身近な所だと、プロジェクトファイルに格納されているアプリケーションの設定値である、"Info.plist"もこのプロパティリストの構造に倣っているようです。


活用する事で、プログラムの見通しをよく記述する事が出来そうですね。


上で挙げた、プロパティリストを編集するアプリ、"Property List Editor" ですが、"/Developer/Applications/Utilities/Property List Editor" がそれにあたります。ダブルクリックして起動する事で別途ファイルを編集する事も出来ます。



次はiPhoneの"設定"から各種設定値を編集する仕組み、"Settings Bundle"について見てみようと思います。データとは別にアプリケーションの設定を外部に出す意味で色々活用できそうですね。


参考リンク:
  Property List Programming Guide