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ご枅聎ありがずうございたした

Source: https://habr.com/ru/post/J21064/


All Articles