Je cherche de l'aide. J'ai essayé de chercher sur ce site et j'ai essayé de modifier mon code, mais je suis coincé. Mon problème est avec l'affichage et la modification d'un attribut entier stocké dans coredata. J'ai une vue de détail qui utilise un UITableView. Il semble afficher l'entier correctement dans la cellule, en utilisant le code suivant:Problème avec le transfert et l'édition d'informations entières stockées dans la coredata
cell.textLabel.text = @"Set target";
cell.detailTextLabel.text = [match.set_target stringValue];
mais, quand je tente de modifier la valeur en passant à un UITextField sur une vue d'édition, il affiche correctement l'entier (pour l'exemple 3 est affiché en 53916). Je passe la valeur à UITextField avec ce code: (note, editeurObjet est NSManagedObject, numField est UITextField, editeFieldKey est NSString).
[numField setText:[NSString stringWithFormat:@"%d", editedFieldKey]];
Les valeurs sont transmises à la vue de l'édition de la vue détaillée en utilisant ce code:
controller.editedFieldKey = @"set_target";
controller.editedFieldName = NSLocalizedString(@"Number of sets to win", @"set_legs");
je peux afficher, modifier et enregistrer des chaînes et des dates, mais je ne peux pas comprendre Entiers. Toute aide serait appréciée.
EDIT 1
j'enregistrer et annuler les boutons sur mon point de vue de modifier. Le bouton Enregistrer invoque:
- (IBAction)save {
// Set the action name for the undo operation.
NSUndoManager * undoManager = [[editedObject managedObjectContext] undoManager];
[undoManager setActionName:[NSString stringWithFormat:@"%@", editedFieldName]];
if (editingDate) {
[editedObject setValue:dateField.date forKey:editedFieldKey];
}
else if (editingNum) {
[editedObject setValue: [NSNumber numberWithInteger: [numField.text integerValue]] forKey: editedFieldKey];
}
else {
[editedObject setValue: textField.text forKey:editedFieldKey];
}
[self.navigationController popViewControllerAnimated:YES];
}
Avec le code pour afficher l'entier défini comme:
[numField setText:[NSString stringWithFormat:"%d", [editedObject valueForKey:editedFieldKey]]];
J'ai un avertissement au sujet de la ligne: En passant l'argument 1 de 'stringWithFormat' de type pointeur incompatible. En cours d'exécution, il se bloque avec: + [NSString WithFormat:]: sélecteur non reconnu envoyé à la classe 0x211d60'
Voir ma mise à jour de la réponse. – falconcreek
Vous ne transmettez pas de chaîne valide à stringWithFormat. Le symbole @ est manquant avant "% d" – falconcreek