A,Bがあって、AからBにドラッグドロップする機能を書きたいんですが、現状のTiUITableViewだとセルをつかむ処理をフックできなさそうなので、モジュールを作ってみようと思います。空のモジュールを作ってみます。例によってiPhone用です。公式ドキュメントの通りにやればできるのですがハマりました。何処かにidはネームスペースと書いていたので、モジュールはid.nameの形式になると思い込んでいてハマりました。以下の例だとcom.taichinoがモジュール名です。firstmodに意味はありません。このコマンドを打つと、モジュール用のxcodeprojが生成されます。このxcodeprojに変更を加えてビルドするとモジュールができる仕組みです。プロジェクトのディレクトリ構造は以下のようになっています。Classes以下に普通にObjective-Cのコードを追加していく感じですね。exampleディレクトリの下にあるapp.jsを編集して作成したモジュールのテストを行います。World的なモジュールを作ってみます。[File]->[New]->[File...]から、AppceleratorのTiProxyテンプレートを選択、ComTaichinoFooProxy.(h|m)を追加して、以下のように編集します。js側から渡された文字列をログに吐くだけの何でもない処理ですね。args);}@endここでもクラス名に注意が必要です。プロジェクト作成時に指定したidをUpperCamelにした文字列をプリフィックスに、Proxyをサフィックスに指定しなければなりません。Proxyという事になります。名前を指定すると、プリフィックスとサフィックスを削除した名前を元にcreate〇〇というファクトリメソッドが自動的にjs側に公開されます。この例ではcreateFooになります。以上でcom.taichinoモジュールにFooオブジェクトを追加した事になります。app.jsに以下のコードを追加して、動作確認を行ってみます。jscode');app.jsにコードを追加したらモジュールのプロジェクトルートで以下のコマンドを打ちます。jscode”と表示されれば成功です。)テストの際にビルドが走って、プロジェクトルートにモジュールのパッケージファイルが生成されています。Support/Titanium/に置いておくと、別のプロジェクトからロードできるようになります。Support/Titanium/.あらかじめモジュールをロードする側のプロジェクトのtiapp.xmlに使用するモジュール一覧を指定しておきましょう。version="0.1">com.test</module></modules>最後にもう一点ハマった点があります。それはモジュールの内容を更新した時は、必ずモジュールを使っている側のプロジェクトのcleanが必要だということです。コマンドラインでビルドしている場合はプロジェクト直下のbuildディレクトリを削除します。しないと何処かで古いモジュールがキャッシュされていて更新が反映されません。僕はこれで半日潰しました。以上でモジュールを作る流れは大体把握できました。最後にハマった点をもう一度列挙しておきます。createコマンドを打つ際のidがモジュール名。nameは特に意味がない。モジュールを作り直したら、ロードする側でcleanが必要。