Currency Converter with bindings

Tiff

Membre confirmé
23 Avril 2004
40
0
J'ai testé le tutoriel d'Apple sur les bindings. Bon, ben, ça marche pas. Le champ qui est censé contenir le résultat reste désespérément à 0. J'ai oublié quelque chose ? Il n'y pas pourtant pas 50 connexions à faire dans IB. Et le code fonctionne. Sauf que la méthode setAmount n'est appelée qu'une fois, lors du démarrage de l'appli (vérifié avec un printf dans le corps de la méthode). Après, plus rien.
 
Ah ok, effectivement ça n'a rien à voir...
sick.gif
 
Izostar : en fait, la même appli que tu indiquais ci-dessus, mais avec des liens automatiques (bindings) entre les objets, à la place du bouton Convert : dès que l'on sort d'un champ Dollars ou Rate par Tab ou Enter, le champ Amount est censé se mettre à jour tout seul.
Je m'étais donné comme objectif de refaire les applis de Cocoa par la pratique avec les bindings, mais ça commence mal !
crazy.gif


Pour tes float transformés en int, tu as réglé correctement le NumberFormatter dans le champ ?
 
Il ne me semble pas qu'un NSFormater soit défini pour aucun des champs.
Mais Izostar, pourquoi dis-tu que ton résulat est un int et comment le sais-tu ?
 
bein j'en sais rien mais il me dit que 2*6.55=12... alors j'en ai déduit qu'il tronquait les float quelque part...
 
Ah je suis un boulet.
J'ai rentré les nombres avec un "." point comme en php et non une virgule...

En revanche, il me dit que 3*6,68=20,03864461 et non 20,04 et là je reste perplexe !!!

Tiff : désolé de polluer ton thread sur les bindings....
 
izostar a dit:
En revanche, il me dit que 3*6,68=20,03864461 et non 20,04 et là je reste perplexe !!!

Faut peut-être faire un ch'ti arrondi, non ?

Pour en revenir au sujet, j'ai fait le tuto et ça marche !
Mais apparemment il y a un problème avec le tuto contenu dans les dev tools, utiliser celui en ligne sur le site d'Apple.

Ma première impression est que c'est bien compliqué cette histoire !
De plus si l'un des deux champs est vide, ça génère une erreur, ex:
could not set nil has value for key exchangeRate
 
Je ne connais rien au C, mais il est vrai que les float donnent de curieux résultats. Les double sont plus dignes de confiance.

Bon, j'essaye le tutoriel en ligne sur les bindings. Même si ceux-ci paraissent compliqués au premier abord, je pense que pour la gestion des NSTableView, que j'utilise souvent, ils apportent un certain confort.
 

Pour en revenir au sujet, j'ai fait le tuto et ça marche !
Mais apparemment il y a un problème avec le tuto contenu dans les dev tools, utiliser celui en ligne sur le site d'Apple.

Effectivement le tutoriel a été mis à jour sur le site, et il fonctionne, malgré quelques bugs. Mais le principe est, à peu près, clair.
 
Avec Cocoa il faut faire attention à deux choses en ApplescriptObjC (la passerelle Objective-C Applescript) lors les bindings:

a) ne jamais supposer le type envoyé/retourné, mais toujours transtyper

if (champReponse as string) is "Hello" then
if (monEntier as integer) is 1 then
myProgressiveBar's setMaxValue_(count of files in myFolder as integer)

attention aux tests d'égalité dur des réels qui sont voués à l'échec.

b) toujours préciser le contexte lorsqu'on change la valeur d'une variable "bindée"

set my champReponse to "Bonjour"

C'est valable en Applescript et ApplescriptObjC. En Objective-C ça doit être la même chose...
 
Bof... je viens d'arriver, je n'ai pas vu la date :mouais:

A part ça c'est vrai que ça reste d'actualité —et qui sait... ils y sont peut-être encore :siffle: