nibファイルにカスタムを作成しましUITableViewCells
たが、それを複数のファイルで使用したいと思いますUIViewControllers
。
誰かがそれを行うためのベストプラクティスの方法を教えてもらえますか?ペン先の読み込みに関する私の限られた知識は、InterfaceBuilderで単一の所有者クラスを指定する必要があることを示唆しているようです。
ありがとう。
nibファイルにカスタムを作成しましUITableViewCells
たが、それを複数のファイルで使用したいと思いますUIViewControllers
。
誰かがそれを行うためのベストプラクティスの方法を教えてもらえますか?ペン先の読み込みに関する私の限られた知識は、InterfaceBuilderで単一の所有者クラスを指定する必要があることを示唆しているようです。
ありがとう。
早くやれよ; 本当の障害はありません。File's Ownerのクラスに関しては、nibでバインドするキーが、nibを使用するオブジェクトに存在する限り、問題ありません。
UIViewController
プログラムでクラスをインスタンス化し、initWithNibName:bundle:
複数のコントローラーに同じペン先を指定できます。たとえば、私は現在GameController
、基本的なゲームロジックを定義するクラスを持つゲームを構築しています。には、カスタム初期化子にロードされるGameController
関連GameController.xib
ファイルがあります。
- (id)initWithOptions:(NSDictionary *)gameOptions
{
if (self = [super initWithNibName:@"GameController" bundle:nil])
{
// code here
}
return self;
}
私はいくつかの異なるゲームタイプを持っています:ピアツーピア、ローカル、そしてオンライン。ゲームロジックは同じですが、通信の実装が少し異なるため、これらはそれぞれのサブクラスですGameController
。アプリケーションの使用方法に基づいて、別のコントローラーをインスタンス化します。
local = [[LocalGameController alloc] initWithOptions:options];
online = [[OnlineGameController alloc] initWithOptions:options];
ただし、これらは両方とも拡張されているため、両方がビューとしてGameController
初期化されることがわかりGameController.xib
ます。この場合、GameController
は単一のファイル所有者になります。