スキップしてメイン コンテンツに移動

XCode 3.0

いまさらながら、XCode 3.0に移行してみた。

Interface Builderがかなり所作が変わっていて、結構戸惑ったので書きのこしておこう。

2008-04-17_0052

以前はInterface Builder上のインスペクタでClassを作成して、Instance化して、GUIパーツとOutletやActionをドラッグで結ぶというやり方だった。今回の変更でインスペクタ上でClassとかInstanceとかが無くなっていたので一瞬呆然としてしまった。今までと全く異なる右のようなインターフェイスになってしまったからだ。

2008-04-17_0053

例えば、いままで通りMVCのControllerにあたるクラスを作りたい時、正解はインスペクタからCocoaのObject & Controllersの中からObjectをドラッグしてきて右のように置く。そしてId Inspectorを開いて、Class ActionsとClass Outletsに必要なものを追加していく。今回はよくCocoaの入門本にあるようにAppContollerという名前で作ってみた。

2008-04-17_0056

Action/Outletの関連付けも以前と作法が違っている。AppContollerを選択してContol + クリックすると右のようなパネルが開かれる。Outlet/Actionの右の○をクリックしてドラッグすると青い線が伸びていくので、それを該当のパーツに繋げると関連付けができる。
次に、Interface BuilderのFileメニューからWrite with Classを選んでクラスファイルを生成してしまう。このとき、自動的にプロジェクトに追加されても良さそうなものだがデフォルトでは追加されないようだ(やり方がマズいのか?)。 プロジェクトで、Classesのグループ上でControl + クリックで「追加」を選び、「既存のファイルの追加」を行なう。

次にクラスファイルのヘッダーファイルを開くと、今までのやり方と違いこの手順では親クラスが特定できていないので生成されたコードは以下のように「親クラスを特定せい!」というコメントが入って親クラスが指定されていない。ここでコメントを消してNSObjectを親クラスに明示的に指定してあげる。
2008-04-17_0102

実装のほう(ApplContoller.m)を見てみると、Implementationの部分もメソッドまで空で生成されている。あとは、そこにコードを埋めていけばよい。例えば、ボタンを押したら"Hello World"を表示みたいなコードなら

[textFiled setStringValue:@"Hello World!"];

などと。

上記のやり方では、プロジェクトへの登録と生成したクラスの親クラスの指定が以前はInterface Builderで出来ていたのが、手作業で別に手間を掛けなければならなくなってしまった。何か別の方法があるのかな。

コメント

このブログの人気の投稿

WWDC 2010の予想

眠れないので、明日に迫ったWWDC2010の予想でもしてみよう。 もう確実なのがiPhone新モデルとiPhone OS 4.0の発表。 予想される大きな改良点は、 マルチタスクになる ホームにフォルダなどの概念が取り込まれ、UIが大きく変更される テザリングが可能となり iPhoneをWiFiルーター化できる iChatが組み込まれる Facebookとの連携が組み込まれる ファイルの同期がiPadのように組み込まれる iPadとの同期がMacなしで可能となる 既にiPhoneの3G上で動作するSkypeが発表されているのでインパクトは薄いかも知れないけれど、3G上で動作するVoIPとしてiChatが提供されればユーザーとコミュニケーション・ツールとしてのiPhoneの使い方は大きく変わりそうな気がしている。 その他には、Safari Extension、新Macbook Air、新Mac Proなどかな。iTunes.comも噂されている。そう言えば、MobileMeの無料化なんてのも噂としてあるが……

My name is E

E の名刺を作って、iPhoneの専用アプリを導入してみた。 写真のようにカードが表示されるので、相手に向かってiPhoneを振ってあげれば名刺が飛んでいくというインターフェイス。なにせiPhoneユーザーが周りにいないのでどうやって相手の認識しているか不明だけれど、おもしろいインターフェイス。 ちなみに、わたしの公開カードは http://eee.am/yostos

Thinkpad T42

新たに購入したお仕事用のPC Thinkpad T42が先週末届いた。 仕様は、Pentium-M 1.80GHz, 1400x1050の15型TFT液晶、メモリーは追加して1.5GB(増設用に2GBを用意していたが、秘書さんのPCが256MBで苦しんでいたので1GBあげてしまった)、指紋センサー付き。無線もEEE802.11a/b/g対応となった。 こうして、iBookと並べてみると対照的。天使と悪魔か…… 今まで使用してたT30と比較すると、多少CPUが早くなりUSBが2.0になり指紋センサーがついて、やけに軽くなった。腰痛持ちの私にとっては、重量がぐんと軽くなったのが一番うれしいか。それでも2kg以上あるが。 指紋センサーはパームレスト上に(写真でいうと右側)実装されている。付属のソフトで設定すると、起動時のBIOS、HDDのパスワード投入、WindowsXPのログイン用パスワード投入の代わりに、電源オン時の指紋照合一発で済ませることができる。センサーに読み込ませるためには、指を一定の角度でセンサーに向けてまっすぐに動かさないと誤認識される。多少コツが必要で偶に失敗する。指紋はいくつか指を登録できるので複数を登録しておいたほうが無難。 今回も新しいおもちゃになりそうな機能はいくつかついているのだが、2日くらいで飽きてしまった。仕事で使うには十分なスペックで、十分に快適。ちょっと前まではお仕事用のPCも結構愛着やこだわりを持っていたのだが、買い替えを行って新しいPCが来てもあまりワクワクしなくなった。最近は、2年に一度機械的に買い替えを行うような感じ。スペック的に見るとiBookなどと比べるまでもないほどはるかに重装備だが、iBookのほうが楽しい。 PCの価値はスペックだけでは語れないのだよ(ムスカ風)