JavaScriptTi.Appにオブジェクトをくっつけてグローバル変数的に使うTi.Appはグローバルなオブジェクトなので、これにメソッドやプロパティをくっつけるとTi.Appを介してどこからでも使えるようになる。お得意のヤク毛刈りの延長でまとめたものをついでなので公開してみました。TitaniumTitainiumでステータスバーにインジケータを表示するTiUIWebViewで作ったアプリ内ブラウザでページをロード中にインジケータがどこにも回ってないのに気がついて、くるくると回るインジケータを表示したいと思った。実はこれなしでも済む記法がCoffeeScriptには存在することに気がついた。ここんところしばらくCoffeeScriptとTitaniumの組み合わせで開発しているわけだけど、CoffeeScriptに関して言えば特に大きなハマりどころもなく快適に使えている。TitaniumTitaniumのモジュール作成にチャレンジMapViewのアノテーション表示処理をカスタムしたくてモジュール作りに走ってみた。日本語リソースとしては以下のページがとても参考になる。TitaniumCoffeeScriptの@ではまった話つまりJavaScriptのthisではまった話なんだけども。とあるAPIからhttpでデータを取得するという処理。いう構造を念頭に置く必要がある。TitaniumTitaniumのaddEventListenerについて再びTitaniumのaddEventListenerで同じイベントに登録した処理は順番に同期実行される。Firefoxなどのブラウザ(ただしIE除く。素のJavaScriptではオブジェクトが同じ内容かどうかを調べるのはけっこうめんどうだが、MooToolsを利用してObject.toQueryStringで文字列に変換して比較すると楽。MooToolsWebViweに表示されているHTMLからTitaniumの処理を実行するObjective-CではUIWebViewDelegateを使うとHTML内のリンクをクリックした時にアプリ内のネイティブな処理を実行する事ができた。Titaniumでも同じ事ができる。TitaniumaddEventListenerで登録した処理が複数回実行される問題と言うものでしばしハマったのだが、原因はTitaniumのバグではなく仕様であり、自分のプログラムのやり方だった。windowとかdocumentオブジェクトがないせいで動かないので、空のオブジェクトを定義してやるという方法。TitaniumTitaniumのロジックとUIのプロパティ定義を分離するUIの部品をたくさん追加するとコードの見通しが悪くなってくるので、なんとかしたいと思った。そこでUIのプロパティを指定するオブジェクトを別の場所で定義して分離することにしてみた。TitaniumTitaniumのUIコントロールの親オブジェクトを得るTitaniumのドキュメントには載ってないがgetParentメソッドが使える。ここで言う親オブジェクトというのはそのUIコントロールが乗っかっているオブジェクトということで。Titanium<12345>検索:書いてる人サーバーサイドのインフラ構築とプログラミングをたしなむハーフスタックくらいのフリーランスプログラマー。カメラはペンタックス。