3

nibファイルにカスタムを作成しましUITableViewCellsたが、それを複数のファイルで使用したいと思いますUIViewControllers

誰かがそれを行うためのベストプラクティスの方法を教えてもらえますか?ペン先の読み込みに関する私の限られた知識は、InterfaceBuilderで単一の所有者クラスを指定する必要があることを示唆しているようです。

ありがとう。

4

2 に答える 2

2

早くやれよ; 本当の障害はありません。File's Ownerのクラスに関しては、nibでバインドするキーが、nibを使用するオブジェクトに存在する限り、問題ありません。

于 2010-04-18T10:59:34.927 に答える
1

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は単一のファイル所有者になります。

于 2010-04-18T11:19:10.590 に答える