2010-10-19 5 views
0

salut je souhaitais charger aléatoirement une vue. les vues sont appelées view1 view2 et view3 ci-dessous est le code im using. quelqu'un peut-il me dire le code que je devrais placer dans la section case à remplacer - (void) viewDidLoad self.view = view1; etc car cela ne fonctionne pas mercicharger la vue au hasard

- (void)viewDidLoad { 
    [super viewDidLoad]; 

NSString *title = nil; 
NSString *path = nil; 

int Number = arc4random() % 3; 
switch(Number) { 
case 0: 
     - (void)viewDidLoad { 
      self.view = view1; 
     } 

break; 
case 1: 
     - (void)viewDidLoad { 
     self.view = view2; 
     } 

break; 

case 2: 
      - (void)viewDidLoad { 
       self.view = view3; 
      } 

break; 

Répondre

2
switch(Number) { 
    case 0: 
     self.view = view1; 
     break; 
    case 1: 
     self.view = view2; 
     break; 
    case 2: 
     self.view = view3; 
     break; 
} 
+0

Ou, plus simplement: 'id views [] = {view1, view2, view3}; self.view = views [Number]; ' – Chuck

+0

Je pensais que je trouverais la solution aussi proche de son code que possible afin qu'il puisse voir pourquoi cela ne fonctionnait pas. – codelark

1

Votre code définit uniquement la fonction interne de la fonction, et ne l'appelle pas.

+0

Comment dois-je l'appeler –

+0

Avez-vous compilé? Sous mon environnement (Xcode 3.2.4 & SDK4.1), l'erreur "'viewDidLoad' non déclarée (première utilisation dans cette fonction)" est apparue. – KatokichiSoft

+0

oui il a fait la même chose pour moi. Je vais commencer tout le projet à partir de zéro et passer en revue toutes les choses avec plus de matériel d'étude. le livre que j'avais couvert je l'ai prêté et il a disparu dans ce trou noir –

2

Vous devez supprimer le:

Dans chaque déclaration de cas
   - (void)viewDidLoad { 

, ainsi que les accolades se terminant après.