2

近日中にWebサービスを使ったiOSアプリを作り始めるので、iOS開発について調べています。私はすでに多くのチュートリアル、ドキュメント、フォーラムなどを読み、見てきましたが、私が持っている質問はまだ答えられていないか、答えが明確に述べられていません. 誰かが私を助けてくれることを願っています。すべての .xib ファイルに独自のクラス ファイルが必要な場合、多くのファイルが必要になるため、これについて疑問に思っていました。

4

3 に答える 3

1

答えはノーですが、(nib ファイルのコレクションであるストーリーボードの代わりに) 各ビュー コントローラーに nib ファイルを使用する場合、通常はそうします。

nib ファイル アーカイブ オブジェクト グラフ

これを覚えて。インターフェイス ビルダーとそれが作成する nib ファイルは、オブジェクト グラフの作成に使用されます。実際には、任意のオブジェクトをペン先に投げて、実行時にロードすることができます。私が最初に始めたとき、これは最も紛らわしいトピックの 1 つでした。

xib ファイル (私は今でも nibs と呼んでいます) は、視覚的に構築できるオブジェクト グラフの単なる記述です。基本的に、nib に設定したすべてのオブジェクトはアーカイブされ、実行時にアーカイブ解除されます。インターフェイス ビルダーで選択した設定もアーカイブされ、コードでメソッドを呼び出すのと同じです。

たとえば、nib で UIView の背景色を選択することは、コードで setBackgroundColor: を送信することと同じです。ビューのサイズ変更は、setFrame: などを送信するようなものです。これは、ビルド時にすべてアーカイブされ、実行時にアーカイブ解除されます。

nib ファイルは、サブクラス化したオブジェクトへの参照を保持します。

カスタム ビューがある場合は、そのサブクラス (.h および .m) があり、それを nib に設定します。もちろん、ビューに何もさせたくない場合を除きます。

ここでクラスを設定すると、.h ファイルへの参照が設定され、IB で共通設定をセットアップできるようになります。

通常、iOS で nib ファイルを作成するときは、View Controller サブクラスの .h および .m ファイルを取得することを選択します。これは最終的に nib のファイル所有者プロキシ オブジェクトに接続されます。例として UIView を使用すると、ビューのサブクラスを作成するときに、インターフェイス ビルダーでそれを設定すると、そのコードへの参照が提供されます。次に、ペン先でサイズ、背景色、描画オプションなどを設定し、コードで実際に描画するものを設定できます。

実行時にアーカイブされるインターフェイス ビルダーのオプション。 これにより、時間とコード行を節約できます

ニブに関するAppleの詳細な記事は次のとおりです。

https://developer.apple.com/library/ios/documentation/cocoa/conceptual/LoadingResources/CocoaNibs/CocoaNibs.html

于 2013-10-17T23:42:27.213 に答える
1

Xib ファイルには、ビューやビュー コントローラーだけでなく、配列、ディクショナリなど、あらゆる種類のシリアル化されたリソースを含めることができます。したがって、xib ファイルに *.h *.m ファイルを含めることはできません

于 2013-10-17T22:08:57.310 に答える
1

XIB ファイルはコンテンツのアーカイブであり、View Controller と View で構成できます。一般的に言えば、「組み込み」View Controller はサブクラス化するまではあまり使用されないため、XIB に View Controller が含まれている場合は通常、.h/.m ファイルが関連付けられています。ただし、XIB にはビューのみを含めることができます。その場合、関連付けられたファイルがない可能性があります (ただし、ビューにそのサブビューの一部へのアウトレットが必要な場合があるため、ビューのサブクラスが必要になる可能性は十分にあります)。

于 2013-10-17T18:59:02.063 に答える