2014-05-03 1 views
2

J'ai un monnaie classe, il est une sous-classe de NSManagedObject, maintenant je veux ajouter une méthode de classe +(NSString *)localCurrency pour elle (il sera utilisé dans de nombreux endroits), mais la définition n'utiliser quoi que ce soit au sujet de la Devise classe, et le retour n'est pas une instance de Devise classe. Alors est-ce bon d'écrire cette méthode en Devise class?Est-il bon d'écrire une méthode de classe que la définition et le retour sans utiliser quoi que ce soit sur la classe?

Je sais que [[NSLocale currentLocal] objectForKey:NSLocaleCurrencyCode] retournera le code monnaie locale, mais j'en ai besoin pour exclure certaines devises qui ne sont pas supportées par mon application. Ou j'écris cette méthode dans une catégorie de classe NSLocal?

(Il faudra ajouter un nouveau fichier juste pour créer une méthode.)

+1

Si votre application représente des devises en tant qu'instances de 'Currency', alors je ne vois rien de mal avec une méthode de classe qui retourne des informations" meta "sur les devises. – FluffulousChimp

+1

Écrire fonction autonome, si vous ne pouvez pas décider où ajouter la méthode de classe. –

Répondre

2

Il semble raisonnable de vouloir ajouter une méthode de classe "localCurrency" à une classe nommée "Currency".

Et à l'intérieur de cette méthode, vous pouvez faire votre chose "NSLocale" et ensuite faire quelque chose de spécial (par exemple lancer une alerte pour "Bitcoins non supportés") si le code de devise locale n'est pas supporté par votre application.

Questions connexes