私はかなりココアを新しくしています。私はいくつかのiPhoneアプリをまとめた兄と話していました。私はInterface Builderについて話しました。彼はそれを使用しないと言った - 彼はUIをプログラムで構築する。彼はこのように言って、彼はNIBの読み込みについて心配する必要はありません。私は、インターフェイスビルダを使用して、実際にビュー/ウィンドウ/ボタン/シリアルオブジェクトのインスタンスを作成し、アプリケーションをロードするときにデシリアライズする必要があることを理解するが、高価なデシリアライゼーションですか?確かに、彼はiPhoneについて話していますが、私はMacBook Proで開発していますが、まだまだです。Interface Builderを使用していないのですか?
答えて
パフォーマンス上の理由から私はまだIBを使用していないとの議論をしていますが、両方の方法を使用してもどちらかの違いが見られません。より強力なアプリケーションでは、複雑なカスタマイズされたビューを作成するのが難しいため、通常はIBを使用しなくなります。ですから、私はよりシンプルなアプリケーションにはIBを使用し、より複雑なアプリケーションにはプログラマチックなアプローチを採用します。このアプローチは明らかにパフォーマンスの最適化でもあります。
複雑なアプリケーションであっても、IBを使用して単純なビューを含むUIのサブビットをレイアウトし、より大きなUIでプログラマチックにそれらを接続します。 – bbum
両方の方法が役に立つ場合は、アップルの方法をお勧めします。すなわちインターフェースビルダー(IB)を使用している。より少ない抽象化されたプロジェクトであれば、Appleから今後のおいしさを継承する準備がはるかに増えます(Cocoa Bindingsを覚えておいてください... )、すぐに生産性も向上します。
IBさんがあなたのためにやっていること(弟の方法を通って)を理解することは、です。貴重な知識もあります。そうすれば、あなたはいくつかのli'lプロジェクトで両方を行うことができます、それを行います。 (他の人が言っていたように、複雑なUIの場合は、これを迂回することができます。)しかし、結局、IBの使用をお勧めします。
ああ、ちょっとしたメモ/訂正です:ここではシリアライズについては言及していません。 IBはあなたのNIBにあなたのオブジェクトのIDと関係を保存することもあります。 –
絶対にIBを学ぶ!それはその価値があり、長時間にわたり無限の時間を節約します。あなたができるときそれを使用してください。あなたは複雑ではありませんが、いつもプログラマチックなアプローチをしていますが、あなたのアプリが成長し、年齢を重ねるにつれてあなたのペン先(IB)を維持するほうが簡単です。
Interface BuilderはNeXTSTEP開発のルーツを持つ古いソフトウェアですが、ソフトウェアの視覚的な側面を作成するためのエレガントな方法です(IMO)。
このinterview with Aaron Hillegassでは、「経験豊富なCocoaプログラマーは、NIBファイルに多くのスマートアプリケーションを入れているため、プロジェクトのコードが大幅に少なくなっています。
私たちは皆知っています:"Less source code is better"
アプリケーションの種類によって大きく異なります。私が知っている限り、数百、数千ページのERPシステムはInterface Builderでビルドされていません。
- 1. Interface Builderが開かない
- 2. ビューコントロールがInterface Builderを使用して表示されない
- 3. Interface Builderでthree20を使用してカスタムテーブルセルを使用する
- 4. Interface builderのUILabelでローカライズされたテキストを使用していますか?
- 5. UITableView + UINavigationBar + UITabbarはWindowsベースのアプリケーションテンプレートで、Interface Builderを使用していますか?
- 6. Interface Builderで定数を使用する
- 7. Interface Builderのフレームワークからカスタムビューを作成して使用する
- 8. iPhone Interface Builderに新しいフォントをインストールして使用しますか?
- 9. Interface Builderの用語
- 10. Interface BuilderでUIButtonを使用してカスタムトグルを作成する
- 11. UINavigationBar(Interface BuilderのUINavigationControllerなし)
- 12. ランドスケープモードでInterface Builderを使用してプログラミングする
- 13. Interface Builderを使用してカスタムUIViewを作成し、Interface Builder経由でアクセス可能または配置可能
- 14. iPhone - Interface Builderのカスタムオブジェクトを作成していますか?
- 15. Interface Builderを使用してUITextFieldでキーボードを閉じる
- 16. コード内のInterface Builderのシステムメディアファイルの使用
- 17. は、Interface Builderで
- 18. GUIビルダー向けにInterface Builderを使用しないことに関するチュートリアル?
- 19. Interface Builderでのバインド
- 20. XcodeはInterface Builderですべてのフォントスタイル名を表示していますか?
- 21. Interface Builderで「推測」設定が機能しないのはなぜですか?
- 22. Interface BuilderのUIDatePicker
- 23. Interface Builderのコアアニメーション
- 24. Interface BuilderのCATextLayer?
- 25. Interface Builderのグループビュー
- 26. Interface BuilderなしでUITableViewController内で使用するUINavigationControllerを作成してください
- 27. Xcode 5のIB(Interface Builder)でUndoが機能しない
- 28. Xcode 7のInterface Builderを使用してテキストカーニングを調整するにはどうすればよいですか?
- 29. UIViewのサブクラスです。 Interface Builderを使用して追加するには?
- 30. Interface Builderの(MVCの)モデルですか?
あなたの兄弟は自分の時間を無駄にしています。必要なことをするまでIBを使用してください。 – bbum