2010-01-26 8 views
1

J'essaie de modifier ma méthode didSelectRowAtIndexPath pour utiliser mon AddView également pour l'édition (uniquement avec les champs de texte remplis). Mais ça ne fonctionne pas! Je vous suffit d'entrer le mode d'édition, vérifier si (self.editing) et faire quelque chose comme:didSelectRowAtIndexPath en mode d'édition pour mettre à jour les données

if (self.editing) { 
     AddViewController *viewController = [[AddViewController alloc] 
              initWithNibName:@"AddView" bundle:[NSBundle mainBundle]]; 
    //get selected Object 
    User *userEdit = [[User alloc] init]; 
    userEdit = [self.users objectAtIndex:indexPath.row]; 
    viewController.user = userEdit; 
    [viewController setEditUser]; 

    [self.navigationController pushViewController:viewController animated:YES]; 
    [viewController release]; 
    //deselect Row after navigate back 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 

Qu'est-ce que je fais mal? J'essaie aussi d'envoyer l'objet User comme [viewController setEditUser: editUser] mais cela ne fonctionne pas, donc je l'ai essayé avec init.

Mon setEditUser méthode ressemble (dans la vue)

- (void)setEditUser{ 
self.userTitle.text = self.user.title; //this is not working!!! ????? 
NSLog(@"blub %@", self.user.title); //this is working!!!! 

}

Merci pour votre aide

+0

D'abord, 'USEREDIT = [[alloc utilisateur] init];' est faux et crée une fuite de mémoire. Retirez-le. Deuxièmement, vous ne nous montrez pas le code pertinent. Que devons-nous déduire du fait que 'self.user.servertitle' contient apparemment la chaîne que vous attendez et' self.user.title' peut-être pas? Nous ne savons rien sur ces objets et comment vous les créez. –

+0

désolé mauvais, devrait être dans les deux cas user.title J'ai les paramètres suivants à mon avis: @synthesize utilisateur, userTitle; et dans mon fichier d'en-tête @property (nonatomic, retain) IBOutlet UITFieldField * userTitle; et Utilisateur * utilisateur; – phx

Répondre

0

Il fonctionne si je fais le réglage de la valeur textfield à

- (void)viewDidAppear:(BOOL)animated{ 
self.userTitle.text = self.user.title;} 
1

Pas exactement ce que vous demandez, mais peut-être vous devriez jeter un oeil à

@property(nonatomic) BOOL allowsSelectionDuringEditing

Discussion

If the value of this property is YES , users can select rows during editing. The default value is NO. If you want to restrict selection of cells regardless of mode, use allowsSelection.

dans la documentation UITableView.

+0

merci, je suis en mesure de faire l'édition :) Mais je ne suis pas en mesure d'envoyer des données à mon avis (les champs de texte n'affichent pas les valeurs, NSLog fait) – phx

Questions connexes