Home

mindTools

Cocoa勉強会でMTLViewLoaderの発表を行った

未完成ながらCocoa勉強会でMTLViewLoaderの発表を行った。

MTLViewLoaderはCocoaのNSViewControllerを支援するクラスです。NSViewControllerをUIKitのUIViewControllerの様にInterfaceBuilderからインスタンス化するクラス名の指定と読み込むNibファイルの指定を出来るようにする機能を持っています。

なんか、色々と欠陥があるのでもう少し修正してからソースコードをアップします。

じゃあね。

NextStepのキーボードを頂いた

NextStepのキーボードを頂いた。ADB仕様なので変換ケーブルを噛ませば使えそう。押し入れをゴソゴソと探ると変換ケーブルは出て来たが、ADBケーブルが出てこない。

RPGツクールDSを購入した

RPGツクールDSを購入した。マニュアルの字が小さくて何がなんだが判らない。

が、このプログラムの構造が判ると多分RPG系のゲームは作れるようになるんだろうと思い、研究中。

  • Comments (Close): 0
  • Trackbacks (Close): 0

uncrustifyのコロン問題

以前、Cocoa勉強会で発表したuncrustifyだが、最新版ではObjCでの使い勝手の問題が改善されたらしい。

  • インストールはMacPortsで出来るようになった。
  • メソッドの引数をコロンで揃えるには”align_oc_msg_colon = true”を追加すれば良くなった。

との事。

時間が出来た時にでも調べ直して、Cocoa用設定ファイルを作り直したい。

  • Comments (Close): 0
  • Trackbacks (Close): 0

core-plot

Cocoaでグラフを描く方法を探していたら、core-plotなる物を発見。

http://code.google.com/p/core-plot/

Building Cocoa Applications A step-by-step guide の第16章を見ながら作ろうとしていたので、無駄骨を折らずにすみそう。

  • Comments (Close): 0
  • Trackbacks (Close): 0

nibファイルの中のポインター

メモ

InterfaceBuilderが生成するnibファイルの目的は、インスタンスの生成/初期化と依存性の注入。

インスタンスの生成/初期化はNSCoderプロトコルの実装によって行われています。[[className alloc ] init]の初期化ではなく、[[className alloc] initWithCoder:]で初期化してインスタンス化する。これは、initWithCoderの中身がキー/値、キー/値、キー/値、….と続くのでストリームからインスタンスをデコードしてると直感し易い。

一方、インスタンスが互いに参照しあうポインター値の永続化をどうしているのかが非常に判りにくい。

正確な仕様は把握していないが、InterfaceBuilderがインスタンスをnibファイルに落とし込む時には、IBOutletの値はnilとして保存するようだ。ポインターの代わりにIBConnectorsに従うインスタンスをこさえて、参照するインスタンスと参照されるインスタンスをこのポインター代わりのインスタンスに設定する。

そして、nibファイルの読み込み/再生時に、IBConnectorsプロトコルに従うインスタンスにestablishConnectionメッセージを投げて、nilがされてしまっていたポインター値にこのIBConnectorsプロトコルに従うインスタンスが持っていた値をポインターに変換して代入しているようだ。

上記のIBOutletポインターを扱うプロトコルIBConnectorsは何故かoracle(sun)の以下のページで説明されている。http://docs.sun.com/app/docs/doc/802-2110/6i63kq4ur?l=ja&q=InterfaceBuilder&a=view

なぜか、Appleのサイトには説明は無い。

  • Comments (Close): 0
  • Trackbacks (Close): 0

はじめに


           |
       \  __  /
       _ (m) _ピコーン
          |ミ|
        /  `´  \
         ∧ ∧
        (・∀ ・)
        ノ(  )ヽ
         <  >

       \     /
       _ `゙`・;`' _バチュ--ン
          `゙`・;`
        /  `´  \
         ∧ ∧
        (・∀ ・)
        ノ(  )ヽ
         <  >

         ∧ ∧
        (・∀ ・) <何だっけ
        ノ(  )ヽ
         <  > ̄ ̄

  • Comments (Close): 0
  • Trackbacks (Close): 0

Home

Return to page top