2009-08-26 11 views
5

私はかなりココアを新しくしています。私はいくつかのiPhoneアプリをまとめた兄と話していました。私はInterface Builderについて話しました。彼はそれを使用しないと言った - 彼はUIをプログラムで構築する。彼はこのように言って、彼はNIBの読み込みについて心配する必要はありません。私は、インターフェイスビルダを使用して、実際にビュー/ウィンドウ/ボタン/シリアルオブジェクトのインスタンスを作成し、アプリケーションをロードするときにデシリアライズする必要があることを理解するが、高価なデシリアライゼーションですか?確かに、彼はiPhoneについて話していますが、私はMacBook Proで開発していますが、まだまだです。Interface Builderを使用していないのですか?

+2

あなたの兄弟は自分の時間を無駄にしています。必要なことをするまでIBを使用してください。 – bbum

答えて

9

パフォーマンス上の理由から私はまだIBを使用していないとの議論をしていますが、両方の方法を使用してもどちらかの違いが見られません。より強力なアプリケーションでは、複雑なカスタマイズされたビューを作成するのが難しいため、通常はIBを使用しなくなります。ですから、私はよりシンプルなアプリケーションにはIBを使用し、より複雑なアプリケーションにはプログラマチックなアプローチを採用します。このアプローチは明らかにパフォーマンスの最適化でもあります。

+6

複雑なアプリケーションであっても、IBを使用して単純なビューを含むUIのサブビットをレイアウトし、より大きなUIでプログラマチックにそれらを接続します。 – bbum

2

両方の方法が役に立つ場合は、アップルの方法をお勧めします。すなわちインターフェースビルダー(IB)を使用している。より少ない抽象化されたプロジェクトであれば、Appleから今後のおいしさを継承する準備がはるかに増えます(Cocoa Bindingsを覚えておいてください... )、すぐに生産性も向上します。

IBさんがあなたのためにやっていること(弟の方法を通って)を理解することは、です。貴重な知識もあります。そうすれば、あなたはいくつかのli'lプロジェクトで両方を行うことができます、それを行います。 (他の人が言っていたように、複雑なUIの場合は、これを迂回することができます。)しかし、結局、IBの使用をお勧めします。

+0

ああ、ちょっとしたメモ/訂正です:ここではシリアライズについては言及していません。 IBはあなたのNIBにあなたのオブジェクトのIDと関係を保存することもあります。 –

6

絶対にIBを学ぶ!それはその価値があり、長時間にわたり無限の時間を節約します。あなたができるときそれを使用してください。あなたは複雑ではありませんが、いつもプログラマチックなアプローチをしていますが、あなたのアプリが成長し、年齢を重ねるにつれてあなたのペン先(IB)を維持するほうが簡単です。

2

Interface BuilderはNeXTSTEP開発のルーツを持つ古いソフトウェアですが、ソフトウェアの視覚的な側面を作成するためのエレガントな方法です(IMO)。
このinterview with Aaron Hillegassでは、「経験豊富なCocoaプログラマーは、NIBファイルに多くのスマートアプリケーションを入れているため、プロジェクトのコードが大幅に少なくなっています。
私たちは皆知っています:"Less source code is better"

0

アプリケーションの種類によって大きく異なります。私が知っている限り、数百、数千ページのERPシステムはInterface Builderでビルドされていません。

関連する問題