2010-01-09 5 views
0

Je travaille sur une application qui a plusieurs vues différentes, dont deux sont DetailViewController.h & .m et AddViewController.h & .m. Aucune de ces vues n'a de fichiers IBib IB associés, elles ont simplement généré UITableViews. Ces vues sont essentiellement les mêmes, la seule différence est que dans AddViewController, vous mettez des informations dans les cellules, et dans le DetailViewController cette même information est visible et modifiable. Essentiellement, viewDidLoad pour AddViewController remplace le viewDidLoad de DetailViewController avec différents éléments et titres de la barre de navigation. Ma question: En dehors de IB, comment puis-je référencer quelle vue je suis? Je veux avoir des commutateurs et des boutons disponibles dans le détail, que je ne veux pas disponible dans le AddView. Mais étant ce que c'est, ils sont en train de répéter la même information, et en ce moment, il suffit de changer les éléments de la barre de navigation, ils ne sont pas séparés comme je voudrais qu'ils soient. A l'intérieur du DetailView viewDidLoad Je pense que je besoin de quelque chose où son commeVraiment simple question sur UIViews

if(currentView = DetailView) { 
self.view addSubview: onOffSwitch; 
} 
else onOffSwitch. hidden = YES; 

Ou quelque chose à cet effet. Évidemment, si le code ci-dessus fonctionnait, je n'écrirais pas cette question :) C'est probablement une question de syntaxe que je ne peux pas résoudre, si vous pouviez m'aider s'il vous plaît, ce serait grandement apprécié! Merci

+0

"curretView" est une faute de frappe? – monowerker

Répondre

1

Eh bien, il est question similaire here

Mais pour votre cas, vous pouvez le faire comme:

if([[self class] isKindOfClass:[DetailViewController class]]) { 
self.view addSubview: onOffSwitch; 
} 
else 
onOffSwitch. hidden = YES; 
+0

En fait, cela fonctionne parfaitement. Merci! – Steve