43 votes

Iteration sur enum en Objective C ?

J'ai

enum Colour {
    white,
    pink,
    yellow,
    blue
} Colour;

et je voudrais faire quelque chose comme ça :

for (int colour in Colour){
    // Do something here.
}

Puis-je le faire et si oui, comment ? Merci pour votre aide !

1 votes

Duplicata possible de Boucler sur les valeurs de l'enum

0voto

Albert Renshaw Points 3180

C'est un cas d'utilisation parfait pour l'utilisation d'un préprocesseur afin d'éviter de salir votre code compilé.


Dans votre fichier .h :

typedef NS_ENUM(NSUInteger, EnumValue)
{
    EnumValueOne,
    EnumValueTwo,
    EnumValueThree,
    EnumValueFour
#define EnumValueLast EnumValueFour
};

Ailleurs dans l'app :

for (EnumValue value = 0; value <= EnumValueLast; value++) {
    //do stuff
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X