2009-09-24 12 views
0

J'essaie de transmettre un flottant à ProgressView à partir d'un calcul effectué dans une autre classe. J'ai essayé de le passer en le convertissant en un NSDecimalNumber mais je ne peux pas le remettre à un flottant quand il atteint la destination. Il doit y avoir un meilleur moyen que ça.Comment passez-vous un flottant à ProgressView d'une autre classe?

Répondre

0
myUIProgressView.value = someFloat; // where someFloat is just type float between 0.0..1.0 

Devrait fonctionner. Si vous utilisez un NSNumber pour conserver la valeur, vous pouvez utiliser [myNSNumber floatValue]; pour obtenir sa représentation flottante.

+0

Merci, cela m'a rendu fou. J'avais déjà le premier bit figuré bien que légèrement différent du vôtre ... myUIProgressView.progress = someFloat; Le deuxième bit [myNSNmber floatValue] est exactement ce que je cherchais. Savez-vous pourquoi il n'y a pas de NSFloat disponible? – Jim

+0

Je suppose que 'NSNumber' l'englobe. Et parce que 'NSDecimalNumber' est une sous-classe, cela fonctionne aussi. – jbrennan

+0

Pour une raison quelconque j'ai eu des problèmes en le passant comme NSNumber il attendait un NSDecimalNumber donc je l'ai changé. Le problème que j'ai maintenant est que NSSortDescriptor ne triera pas ces valeurs correctement. Ce pourrait être comment j'ai déclaré dans le datamodel. J'ai essayé de le définir ici sous la forme d'un nombre décimal, d'un nombre flottant et d'un nombre entier produisant des résultats différents, aucun d'entre eux n'étant correct. – Jim