en essayant de faire une application iPhone et en passant par les tutoriels et les livres recommandés par ceux qui m'ont précédé :) J'essaie de trouver des informations sur le scanf/stockage des données d'entrée utilisateur d'un champ de texte dans un variable que je peux utiliser plus tard dans mon programme. Le champ de texte est en fait un champ numérique, donc j'essaie de sauvegarder les entiers qu'ils ont saisis et non le texte car il n'y en aura pas dans mon cas. Suis-je sur le mauvais chemin ici? Toute aide serait grandement appréciée.Utilisation de Scanf avec ObjC et iPhone
Répondre
Qu'en est-il si je suis essentiellement en train pour enregistrer l'entrée qui est un nombre à commencer par
Vous voulez NSNumberFormatter. Les formateurs de données ( Apple Guide) gèrent les conversions vers et depuis les chaînes, ainsi que le formatage pour la sortie.
Je pense plutôt que scanf, vous cherchez simplement à obtenir la valeur du champ de texte en tant que pointeur NSString. Si vous utilisez un UITextField dans votre interface, vous pouvez connecter UITextField à une variable membre de votre classe en déclarant la variable comme IBOutlet et en la connectant dans Interface Builder.
Vous pouvez ensuite accéder à la valeur de texte en tant que pointeur NSString en utilisant [UITextField nom de variable] .text.
Il existe de nombreuses fonctions utiles pour travailler avec NSStrings ou convertir la chaîne en d'autres types de données tels que des entiers.
Espérons que cela aide!
Voici un exemple d'obtention d'un entier à partir d'un champ de texte.
Dans votre fichier .h:
#include <UIKit/UIKit.h>
@interface MyViewController : UIViewController {
UITextField *myTextField;
}
@property (nonatomic, retain) IBOutlet UITextField *myTextField;
- (IBAction)buttonPressed1:(id)sender;
@end
Dans votre fichier .m:
#include "MyViewController.h"
@implementation MyViewController
@synthesize myTextField;
- (IBAction)buttonPressed1:(id)sender {
NSString *textInMyTextField = myTextField.text;
// textInMyTextField now contains the text in myTextField.
NSInteger *numberInMyTextField = [textInMyTextField integerValue];
// numberInMyTextField now contains an NSInteger based on the contents of myTextField
// Do some stuff with numberInMyTextField...
}
- (void)dealloc {
// Because we are retaining myTextField we need to make sure we release it when we're done with it.
[myTextField release];
[super dealloc];
}
@end
dans le générateur d'interface, connectez la prise myTextField de votre contrôleur de vue sur le champ de texte que vous souhaitez obtenir la valeur de. Connectez l'action buttonPressed1 au bouton.
Espérons que cela aide!
- 1. Gestion de la mémoire dans ObjC/iPhone
- 2. Problèmes avec scanf
- 3. scanf() avec C++ enums
- 4. Arguments variables dans une fonction iPhone ObjC
- 5. Obtenez WAP MAC sur iPhone/ObjC?
- 6. Comment utiliser scanf() avec fopen
- 7. Problème avec scanf() sur mac
- 8. Différence entre scanf() et fgets()
- 9. ObjC - Hiding les lignes de séparation d'un UITableView sur iPhone
- 10. Scanf échoue avec l'erreur de bus
- 11. Inconvénients de scanf
- 12. Déclaration d'un contrôleur de vue avec Objc?
- 13. Comme freopen et scanf dans C#
- 14. Pourquoi NSString dit qu'il est "Invalide", objC, IPhone?
- 15. C scanf avec le problème des espaces
- 16. scanf comportement erratique
- 17. Magie de la fonction scanf()?
- 18. C++ scanf/printf de gamme
- 19. Instructions scanf() (et cin) ignorées lors de l'utilisation de gcc
- 20. C getchar vs scanf
- 21. ObjC: obligatoire à optionnel
- 22. méthodes d'appel dans ObjC
- 23. Méthodes privées dans ObjC++
- 24. Callbacks dans ObjC + Cocoa
- 25. Utilisation de la valeur de retour de scanf dans le langage de programmation C comme vérification
- 26. long int dans ObjC
- 27. Encodage NSURL dans ObjC
- 28. iOS/ObjC, stocker l'entrée de l'utilisateur et le récupérer
- 29. Deuxième scanf ne fonctionne pas
- 30. ne se soucient pas scanf
que se passe-t-il si je tente essentiellement de sauvegarder l'entrée qui est un numéro pour commencer? – HollerTrain
Vous pouvez utiliser la méthode intValue sur NSString pour convertir facilement entre une chaîne et un nombre. –