3

J'ai créé un UITableViewCells personnalisé dans un fichier nib et je voudrais l'utiliser sur plusieurs UIViewControllers. Est-ce que quelqu'un peut me dire la meilleure façon de faire? Mes connaissances limitées sur le chargement des plumes semblent suggérer que vous devez spécifier une classe de propriétaire unique dans Interface Builder.Réutiliser la plume à travers plusieurs UIViewControllers

Merci.

Répondre

2

Just do it; il n'y a pas de vrais obstacles. En ce qui concerne la classe du propriétaire du fichier, tant que les clés auxquelles vous vous liez dans la plume existent dans n'importe quel objet dans lequel vous souhaitez utiliser la plume, tout ira bien.

+1

Je pense que vous pourriez également spécifier une '@ interface' pour le propriétaire du fichier, si vous voulez le faire un peu plus proprement. –

+0

C'est un bon conseil Kristopher. Merci les gars. – colm

1

Vous pouvez instancier une classe UIViewController par programmation avec initWithNibName:bundle: et spécifier la même pointe pour plusieurs contrôleurs. Par exemple, je suis en train de construire un jeu qui a une classe GameController qui définit la logique du jeu de base. Le GameController a un associé GameController.xib fichier qui est chargé dans un initialiseur personnalisé:

- (id)initWithOptions:(NSDictionary *)gameOptions 
{  
    if (self = [super initWithNibName:@"GameController" bundle:nil]) 
    { 
     // code here 
    } 
    return self; 
} 

J'ai quelques types de jeu différents: peer-to-peer, local, & en ligne. La logique du jeu est la même, mais l'implémentation de la communication est légèrement différente, de sorte que chacun d'entre eux est une sous-classe de GameController. Sur la base de la façon dont l'application est utilisée, il va instancier un autre contrôleur:

local = [[LocalGameController alloc] initWithOptions:options]; 
online = [[OnlineGameController alloc] initWithOptions:options]; 

Vous pouvez voir que si ces deux depuis s'étendre GameController, que ces deux seront init'ed avec GameController.xib comme son point de vue. Dans ce cas, GameController serait votre propriétaire de fichier unique.

Questions connexes