2009-03-13 7 views
5

私はしばらくの間、iPhone SDKでプログラミングしてきました。NIB/XIBファイルとCocoaプログラミング - 開発時間の短縮?

私はInterface Builderを使用していません。これは私を少し恐れる。私は実際には、私は「フレームワークと戦っている」かもしれないが、私はそれをそういう形で見ていないことを知っている。

私のアプリケーションデリゲートで私のUITabBarControllerをインスタンス化し、UINavigationControllerをインスタンス化し、次にView Controllerをプッシュしポップするのはとても簡単です。

XIBファイルを使用してアプリケーションを設計する方法については、当然知識がありませんが、NIBを使用してCocoaでMacアプリケーションを構築しています。だから私は完全に無知ではない。

私の質問は、UITableViewControllerとUIViewControllerをXIBを使用してレイアウトするときに、プログラムでインスタンス化してivarsを設定するのではなく、開発時間が増加するかどうかです。

私が見ているように、どちらの方法でも、大部分のビューで発生する可能性のあるカスタマイズのためにView Controllerをサブクラス化する必要があります。同様に、代理人には依然として手作業のクラスが必要であり、XIB内のアウトレットを接続するプロセスは、私がivarを設定することに匹敵するように見えます。

他の大きなポイントがありませんか?

ありがとうございます!

答えて

1

あまりにも心配しないでください、IMO Interface Builderも少し過度に評価されています。

これは、物事を素早く実行したり、画面の数が多くセットアップが面倒なアプリを持っていても、それほど多くは見逃せない場合には、間違いなく便利です。

+0

+1は、ドライブバイダウンワードに対処します。私は同意しませんが、あなたはあなたの意見を述べる権利があります。 – Abizern

2

コードでは、IBよりもUIを構成するのに時間がかかります。

さらにデザイナーにデザインを渡し、UIを微調整できるようにします。

+0

デザイナーがXIBファイルを実際にどのくらい微調整できますか?私は、設定オプションの調整とビューのサイズ変更を除いて、たくさんあるとは思わない。これらは、iPhone用に設計するときに膨大な時間を要しないものです。 –

+1

あなたは驚くでしょう。良いデザイナーの手に渡ってXIBファイルをかなり劇的に改善しています。 さらに、これを行う必要はありません。最高のコードはあなたが書く必要がないコードです! – Genericrich

2

最後に、両方とも同じことを達成します。状況に応じてどちらかを使用する必要があります。ほとんどの場合、ビューの作成と配置、特に道路の維持管理を行うコードを記述すると、IBを使用するよりもはるかに時間がかかります。 iPhone用のシンプルなアプリでは、これは当てはまらないかもしれませんし、コード内のすべてを作成することもできます。基本的には、両方を実行する方法を理解し、明確なコードと最速の開発を含むパスを選択する必要があります。

2

実際にビューをレイアウトするときに使用すると、IBが輝きます。たとえ2つまたは3つのビューであっても、コード内でレイアウトおよび構成するのは面倒な作業になります。私はタブバーやナビゲーションコントローラ、時にはサブコントローラ用に使用する傾向があります(通常、ユーザーが使用する可能性が高いと思う場合のみ)。しかし、それはすでにそこにいるのでもっと便利です。

来週発表されるこの新しいバージョン3 OSでは、Interface Builderが独自のクラス用のパレットを追加したり、複雑な非ビューを構築したりするCocoaの柔軟性を得ることを願っていますデータ構造(カスタムパレットを使用)。しかし、私たちは見る必要があります。

+0

layoutSubviews()では、コード内のCGRect値aを変更します。 IBでは、フォーム入力ボックスを使用して同じ値を変更します。タブバーとナビゲーションコントローラの場合、ボタンを追加するときは、左/右のBarButtonItem ivarを設定します。 IBでは、情報ペインを表示してボタンを変更することができます。 –

+0

ただそう言って、どちらも同じことを達成します。しかし、私が得ようとしている真の疑問は、開発時間の改善があります。私が与えた例は、達成するのに同じ時間がかかるようです。 –

+0

私は一つの事を忘れました。 IBでは、ビューをドラッグして並べ替え、見た目を見てから、後で座標を調整して修正することができます。プログラムによって、同じことを達成することができます。これは、アプリケーションをビルドし、それを表示し、それに応じてrect値を変更します。再び、どちらも似ているようです。 –

0

あなたは、コード内で何かをやっているだけで大​​丈夫だということを理解してもらえれば分かります。

ビューまたはカスタムセルのレイアウトフォント/色/位置の設定が大量になり、すぐに多くのコードに爆発し、維持管理や調整が難しくなります。そのような場合は、IBであなたが望むものを調整するのがずっと簡単です。

関連する問題