Mac OS X用のプログラムの作成。パート2:開発ツールと簡単なアプリケーションの作成

このパートでは、Mac OS X Leopardのアプリケーション開発ツールについて説明します。 私はすぐに、 アップル自身が提供するものだけを検討すると言います。 他のIDEも存在しますが、通常はクロスプラットフォーム(たとえば、コード::ブロック)であるため、この記事ではそれらについて話さない方が良いでしょう。



そのため、Leoのディスクには、Mac OS X開発者のツールキットがあります。これは、アプリケーションを作成するために必要なプログラムとフレームワークのセットです。 このすべてが/ Developerフォルダーにインストールされます(アプリケーション、ドキュメント、多数のサンプル、さまざまな便利なユーティリティなど)。



インストール後、4つの主要な開発アプリケーションがあります。

1. Xcode-メインIDE

2.インターフェースビルダー-プログラムインターフェースを作成するためのプログラム、ただしその機能ははるかに広い

3.計器-プログラムを追跡するためのツール

4. Dashcode-ダッシュボードのウィジェットを作成するためのプログラム



次に、これらのアプリケーションについてさらに詳しく説明します。

/ *多くの写真がクリック可能* /

Xcode



Xcode3.0



Xcodeは主要な開発環境であり、IDEに必要なすべてのものがあります。 すべての関数をペイントするのはあまり意味がありません。 Visual StudioやKDevelopと大差ありません。 しかし、バージョン3.0の革新については、言及する価値があります。



1.コードブロックの照明:



2.コードブロックの折りたたみ(折りたたみ)(最終)

3.改善された(速度に向かって)コードエディター

4.コードの屈折



5. Objective-C 2.0のサポート

6.リサーチアシスタント-選択したテキストに基づいて、ヘルプで適切な記事を見つけようとし、ウィンドウに表示するアシスタント



7.コードにエラー、警告などを直接表示します。



8.プロジェクトのスナップショット。 非常に便利なのは、Ctrl + Command + Sを押すと、現在のプロジェクトが別の場所に保存され、何かスマートな場合はそこに戻ることができ、ファイルごとに何が起こったのか、何が起こったのかが表示されることです:



9.オーガナイザー。 私が理解しているように、多くのプロジェクトを管理するこのツールを使用すると、Xcodeを使用して未知の言語でプログラムを作成することもできます。 私自身はそれが何であるかをまだ理解していませんでしたが、主催者についてより多くを伝える記事を見つけまし



インターフェースビルダー





私はそれを隠さず、すぐにIBが私がテストしたものからインターフェースを作成するための最良のツールであると言います。 また、シンプルで直感的なインターフェイスを簡単に作成できるためだけでなく、IBはインターフェイスエディター以上のものであるため、インターフェイス部分に関連するコードの多くの部分を記述する必要がなくなります。 確かに理解できないように聞こえますが、例はもっと明確になります(例は最後にあります)。



プログラムの作成プロセスでIBが使用されるのはなぜですか? 形状の散乱ボタンのみ-いいえ。 IBの主なタスクの1つは、オブジェクトを相互にバインドすること、クラス内の変数、さまざまなイベントなどとバインドすることです。



楽器



楽器

Instrumentsは、アプリケーションを追跡するためのツールです。 OpenSolarisのMac OS Xポート「DTraceトレースフレームワーク」上に構築されています。 トラッキング自体は、ライブラリに保存されている個別のツールを使用して行われ、必要に応じてメインウィンドウにドラッグされます。 最初は、たとえば、ネットワークアクティビティ、プロセッサの負荷、ディスクへの読み取り/書き込みを監視するためのツールなど、既に多くのツールがあります。 必要なツールが十分でない場合は、自分で作成できます。





ダッシュコード



名前から、このプログラムの目的、つまりダッシュボード用のウィジェットの作成が明確であると思います。 私は長い間このプログラムに手を出していませんでした。ウィジェットを作成するプロセスは、Macromedia Flashで作業していることを思い出しました。 rssハブを10秒で読み取るためのウィジェットを作成しました。





XcodeとInterface Builderを使用して簡単なアプリケーションを作成する



約束したとおり、今度は簡単なアプリケーションを作成します。 それは何をしますか? 編集フィールドにテキストを入力してEnterを押した後、入力したテキストをラベルフィールドに表示します。 この方法で何かを行う必要がある理由については詳しく説明しませんが、mat.partは後で移動します。これで、問題なく簡単にアプリケーションを作成できるようになります。



それでは始めましょう:

Xcodeを開き、メニューから[ファイル] => [新しいプロジェクト]を選択し、表示されるウィンドウで[Cocoa Application]を選択して、[次へ]をクリックします。



次に、プロジェクト名-habr_1とその保存場所を設定します(〜/ xcode / habr_1 /があります):



その後、「完了」をクリックしてプロジェクトを取得します。 次に、必要なものを実装するクラスを追加する必要があります。 これを行うには、[ファイル] => [新しいファイル...]に移動し、Objective-Cクラスを選択して[次へ]をクリックします。 次のウィンドウで、ファイル名を指定するように求められるので、「controller」と書きます。



Classesフォルダーの左側のプロジェクトウィンドウにcontroller.hとcontroller.mの2つのファイルが表示されます。 controller.hを開き、図と同じように記述します。



MainMenu.nibファイルをダブルクリックすると、Interface Builderが開き、アクティブになります。 表示されるもの:ウィンドウの空白、メインメニュー、およびMainMenu.nibを開いたことを示すウィンドウ。 [ツール]メニューの[ライブラリ]をクリックしてオブジェクトを含むライブラリを開き、[ツール]メニューの[インスペクタ]をクリックして、これらのオブジェクトのプロパティを表示します。 次に、作成した「コントローラー」クラスを表すオブジェクトをMainMenu.nibに追加する必要があります。そのため、ライブラリでNSObjectオブジェクト(青い半透明のキューブ)を見つけ、MainMenu.nibというラベルのウィンドウにドラッグします。



明確にするために、「オブジェクト」の名前を「コントローラー」に変更します。 次に、必要なクラスを表すことをこのキューブに説明する必要があります。 これを行うには、アクティブのままにして、インスペクターの「Identity」タブ(右から2番目)に移動し、「Class」碑文の反対側のドロップダウンリストで「controller」を選択します。



次に、ライブラリからフォームに編集フィールドとラベルを追加します。 碑文「アクション」の反対側のドロップダウンリストの「属性」タブ(左から最初)の編集フィールドで、「入力時のみ送信」を選択します。 次のようになります。



そして今、楽しい部分が始まります。クラスの「label」変数をラベルにバインドし、編集が終了したときにテキストフィールドが送信するメッセージとして「setText:」を設定する必要があります。 ラベルを変数ラベルにバインドしましょう。「コントローラー」オブジェクトをアクティブにし、Ctrlキーと左マウスボタンを青い立方体の上に押し、カーソルをラベルに移動します。次の図を参照してください。



LMBを解放すると、そのようなウィンドウが表示されます(バインドしようとしているものと同じタイプのすべてのクラス変数が含まれます)。



その中で唯一のラベルエントリを選択します。 これで、クラス変数ラベルとフォーム上のラベルを接続できました。 送信されたメッセージへの編集ボックスのリンクも行われます。キューブからボックスへではなく、編集ボックスからコントローラーオブジェクトへドラッグするだけです。



MainMenu.nibを保存して(ファイル=>保存)、Xcodeに戻ります。



Xcodeで、controller.mファイルを開き、メッセージの実装を説明します。





プロジェクトを保存し、「ビルドして実行」をクリックして、完成したアプリケーションを取得します。



編集ボックスに何かを入力し、Enterを押します。結果は次のとおりです。





Interface Builderの力



次に、IBがコードの寿命と量を単純化する方法を示します。 ほとんどアプリケーションを作成します(ほぼ完全なアプリケーションにコンパイルするため)。 それは何をしますか? 編集フィールドにスライダーのステータスを表示し、閉じるボタンがあります。



それでは始めましょう。 Interface Builderを開き、File => New、「Window」を選択して「Choose」をクリックし、「Untitled」ウィンドウを取得します。ウィンドウとウィンドウの準備を示し、水平スライダーをスローし、フィールドとボタンを編集し、プロパティで「閉じる」 」:



これで、スライダーからedit_field_に通信し、ドロップダウンリストでLMBを解放した後、「takeDoubleValueFrom:」を選択します。



同様に、ボタンを「Untitled」ウィンドウからの「First Responder」オブジェクトの終了イベントに関連付けます(赤い1ユニットキューブ)。



次に、File => Simulate Interfaceで実行可能なアプリケーションのプロトタイプを取得します。スライダーの位置が変わると、編集フィールドの数値が変わり、[閉じる]をクリックすると、アプリケーションが閉じます。



これにより、多くのコード行を書く手間を省くことができます。



そして、誰かがまだこれを確信していないなら、このビデオを見てください。 その中で、HE(RMSではなく)自体がInterface Builderの全機能を示し、示しています(それまではNextSTEP PRに30分かかりました)。





PS:ご清聴ありがとうございました



All Articles