C#(Windows)とObjective-C(iPhone)でHello,Worldを書き比べてみました。
ボタンをクリックしたら、メッセージが表示されるシンプルなのを作ってみます。出来上がりのイメージはこんな感じです。
まずはコントロールの配置
VSで新規に「Windows フォームアプリケーション」を選んでプロジェクトを作成。
画面左側のツールバーから「Label」と「Button」を選んで、フォームへ配置します。
Xcodeで新規に「View-Based Application」を選んでプロジェクトを作成。画面右上のアイコンをクリックして、Utilitiesを表示させます。Utilitiesから「Label」と「Round Rect Button」を配置します。
ボタンの表記を「Click Me」へ書き換えます。
VSでボタンを選んで、表記を「Click Me」へ書き換えます。
Xcodeでも同じように、ボタンを選んで「Click Me」へ書き換えます。
ここまでできたら、C#のソースコードを覗いてみます。Designer.csを見るとフォーム上に配置したコントロールを扱うための変数が自動的に追加されているのが見て取れます。普段はまったく気にしてませんが、VSが陰できっちりと仕事しているのが判ります。
Xcodeでは、そのあたりの作業はユーザー任せなので、手作業で追加していきます。
画面左上のアイコンをクリックしてAssistant Editorを表示して、変数を追加するファイル(HelloWorldViewController.h)を表示させます。
次に、対象のコントロールをCtrlキーを押しながら選択して、マウスをドラッグすると青い線が表示されます。
そのまま、変数を追加する位置まで移動してボタンを離すと名前を入力する小さなダイアログが表示されます。
このダイアログの右側に吹き出しのような形状が飛び出していますが、ここがマウスのボタンを離した位置になります。つまり、変数が追加される位置です。
名前を入力して「Connect」ボタンをクリックします。
注:この画面はすでにラベルの変数を追加した後、更にボタンの変数を追加しています。
さて、つぎはボタンをクリックしたときの処理を追加します。
VSではフォーム上の「Click Me」ボタンをダブルクリックすると、自動的に処理用のメソッドを作ってくれます。(こういうのってすごい楽ちん)
ここにラベルの表記を変更する処理を追加します。画面の赤線の部分の記載を追加します。
XcodeではCtrlキーを押しながらボタンを選んで、@endの前にドラッグしてボタンを離します。
先ほど変数を追加した作業に似ていますが、ここではボタンを離す位置が違う点に注意してください。
また、図のようにConnectionの項目はActionを選ぶようにしてください。
これで動作の割り当てが済んだので、あとは処理を記述していきます。
HelloWorldViewController.mを開くと、一番最後に図のようなメソッドが追加されているのが解かります。ここにC#と同様、ラベルにメッセージを表示するための処理を記述します。
VS、Xcodeでそれぞれ起動して、ClickMeボタンを押してメッセージが表示されたら出来上がり。