2010-03-11 9 views
0

Procédure pour reproduire:
1. Créez un appelé "TestApp" application barre d'onglets
2. Ajouter nouveau fichier, une sous-classe UIViewController avec une interface utilisateur appelée XIB "Table"
3. Ouvrez MainWindows. xib, cliquez sur le deuxième élément de la barre d'onglets et dans l'inspecteur, changez le nom du NIB de "SecondView" à "Table". Sauver et fermer.
4. Ouvrez Table.xib et faites glisser une TableView en haut de la vue. Liez maintenant la source de données et déléguez les prises de TableView au propriétaire du fichier Table.xib.
5. Ajoutez le code suivant à Table.m:TableauView sur l'application barre d'onglets? L'application se bloque

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
NSLog(@"Returning num sections"); 
return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
NSLog(@"Returning num rows"); 
return 1; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
NSLog(@"Trying to return cell"); 

static NSString *CellIdentifier = @"Cell"; 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 
} 
cell.text = @"Hello"; 
NSLog(@"Returning cell"); 
return cell; 
} 

6.Run l'application et sélectionnez le deuxième élément de la barre d'onglet.

Si je démarre avec une application basée sur View, ajoutez-y une TableView, reliez les prises au propriétaire du fichier et ajoutez ce morceau de code. Qu'est-ce que je fais de mal? Pourquoi l'application plante-t-elle?

Répondre

0

Dans Interface Builder, après avoir mis à jour le nom NIB en tableau, cliquez sur l'onglet Identité de l'inspecteur (dernier onglet). Puis mis à jour l'identité de la classe à «Table».