Débuter la programmation avec livre de chez micro application
patk29
Membre
Bonjour,
souhaitant apprendre la programmation Iphone j'ai acheté le livre suivant :
"Developpez vos applications pour Iphone et Ipad" de chez Micro Application
j'ai déja rencontré plusieurs problèmes dans les exemples du livre qui certes compilent et s'executent sans erreurs mais ne donnent pas le résultat décrit dans le livre (dans le détail l'application convertisseur de monnaie pose des problèmes)
des personnes auraient elles rencontré le même souci avec ce livre ?
merci
souhaitant apprendre la programmation Iphone j'ai acheté le livre suivant :
"Developpez vos applications pour Iphone et Ipad" de chez Micro Application
j'ai déja rencontré plusieurs problèmes dans les exemples du livre qui certes compilent et s'executent sans erreurs mais ne donnent pas le résultat décrit dans le livre (dans le détail l'application convertisseur de monnaie pose des problèmes)
des personnes auraient elles rencontré le même souci avec ce livre ?
merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Moi je me forme aussi en se moment, j'ai le même livre et je constate les même défaut et même en downlodant les sources sur le site de micro app certaine chose ne fonctionne pas
chap. 4.2 page 115:
toutes les modifications devant permettre de saisir des nombres à décimales avec soit une virgule, soit un point selon la langue sélectionnée ne fonctionne pas.
de même la conversion en dollars n'est plus effectuée alors que la conversion s'effectuait au chapitre précédent avant la modification de l'exemple.
je ne peux aller plus avant dans cet exemple vu que cela ne fonctionne pas déjà .
est ce un problème de version de SDK ?
J'ai le meme probleme. Tout ce compile bien, mais la conversion ne s'effectue plus.
Et le probleme du clavier qui accepte toujours toutes les entrees est toujours present.
En ce qui concerne la limitation du clavier, aux chiffres, j'ai trouve ca sur le net :
http://cocoamatic.blogspot.com/2010/08/uitextfield-only-allow-numeric-entry.html
Il est dit qu'il ne faut pas oublier d'ajouter cette ligne au propriete du delegate :
Par contre, je n'arrive pas a savoir ou exactement...???
Fixer le délégué se fait habituellement dans la méthode -[viewWillAppear:] du view controller:
Le filtrage de la frappe se fait ensuite grâce aux méthodes déléguées de UITextField (voir UITextFieldDelegate Protocol).
Apres un milliard de modifs, de relancages(ca m'etonnerait que ca existe comme mot...), de nettoyages...
La page 104 fonctionne!
Peut-etre que ton probleme vient de la methode qui prends plusieurs lignes sur le livre et qui est donc coupe.
Voici mon code de la page 104:
et le reste fonctionne egalement...donc pas besoin de reveiller demander a JPImbert.
En tout cas merci pour vos reponses supersoniques.
Je vous pris de bien vouloir m'excuser pour mon manque d'assiduité. En ce moment je suis à fond sur la deuxième édition, je ne fais qu'un passage par jour ou tous les deux jours, juste pour me tenir informé. Je n'avais pas vu les posts du 19 janvier.
Malgré le soin que j'ai apporté sur les exemples et sur la rédaction, il y a "quelques" coquilles ; j'en profite pour remercier publiquement les lecteurs qui m'en ont signalé, et ceux qui m'ont demandé des précisions, preuve que la rédaction n'était pas très claire. La deuxième édition sera mieux.
Concernant le code de la page 104, il est correct. Je ne l'ai pas modifié pour faire tourner le bazar en version 4.2 (je viens de revérifier). Les sauts de lignes imposés par la largeur du livre ne sont pas gênant. Le code donné par airseb est correct aussi mais je préfère le mien. C'est normal c'est le mien
Le problème de patk29 vient peut être du fait que le contrôleur de vue n'est pas connecté à l'Outlet delegate du champ de texte ; en haut de la page 103.
- l'outlet delegate est bien connecté a file owner , faut il faire la même chose avec le champ euros ? (pas expliqué dans le bouquin) dans le doute j'ai essayé mais toujours pas de conversion...
- j'ai modifié la méthode textfield proposé par airseb pas de changement de plus un warning 'unused variable resultingstring'
- la méthode proposée par Ceroce provoque une erreur.
j'ai voulu continuer malgré tout en faisant l'appli convertisseur 2 mêmes resultats rencontrés (pas de conversion) les seuls fichiers communs entre les 2 projets étant les fichiers convertisseur.h et convertisseur.m
sinon je veux bien un zip des applis qui tournent normalement .
merci
Sans connaitre l'exemple cité je penses que tu n'as pas compris le binding des objets. Si tu as un objet NSTextField , tu as une déclaration dans ton source qui doit ressembler a ça:
IBOutlet NSTextField *monTexte;
Ce qui ajouteras dans interface builder la possibilité de connecter n'importe quel NSTextField à monTexte.
L'important se serait que tu comprennes pourquoi. Dans IB tu pose un objet NSTextField sur ta fenêtre mais il te faut pouvoir afficher du texte dedans depuis ton code, non ? Donc il faut relier ton objet avec dans mon exemple l'outlet monTexte. Outlet signifie sortie. Du coup si tu changes la valeur de monTexte dans le code source, la vue affichera la nouvelle valeur dans les objets connectés a mon outlet.
Enfin je crois....
je ne saurai trop conseiller à l'auteur de fournir ses sources en ligne afin que le débutant ait une base pour comparer ce qui ne marche pas.
pour moi jusqu'a présent les exemples fournis du bouquin ne fonctionnent pas.
autre exemple, celui de la page 187 dataPicker :
pourtant que 3 lignes de code à rentrer et 2 connexions à faire et résultat pas d'erreur de compil mais au lancement écran noir et sortie de programme !!!
de plus il y a une erreur p189 il manque le point dans "self datePicker = nil;"
http://www.microapp.com/livre_developpez_vos_applications_iphone_ipad_2802.html
Et tu les trouveras dans le bouton "exemples" sous forme de zip(sous l'image du livre).
Par contre, attention c'est du SDK 3 si je ne me trompe pas...
1/ Ouvrir le projet sous XCode
2/ Ouvrir le groupe Targets
3/ Sélectionner la cible (par exemple Convertisseur1)
4/ Menu File->Get Info (ou clic droit Get Info)
5/ Sélectionner l'onglet Build
6/ Modifier le paramètre "Base SDK" (choisir Latest SDK)
7/ Modifier si besoin le paramètre "iOS Deployment Target" (par exemple iOS 3.1.3 si on veut que l'appli tourne sur toutes les versions entre 3.1.3 et 4.2)
8/ Fermer la boà®te de dialogue
9/ Modifier les options de build dans le menu Project (les sous-menus Set Active ...), pour mettre par exemple Simulator 4.2
par contre j'ai noté des différences de code avec les lignes du bouquin ceci explique sans doute pourquoi cela ne fonctionnait pas chez moi avant.