Où créer et comment l'utiliser Enum dans iOS?
J'ai commencé l'apprentissage du développement d'iOS.
Je veux utiliser enum
dans mon exemple de projet.
J'ai déclaré enum
dans sample.h
comme suit. J'espère que j'ai déclaré cela correctement.
typedef enum{s=1,m,t,w,th,f,sa} days;
Je veux l'utiliser dans viewController.m
. Dans viewController.h,
j'ai importé sample.h
.
Je veux utiliser enum avec le nom comme "days.sa"
. Mais plus de code que j'ai cherché dans google, ils ont dit, par exemple, créer une variable d'instance dans "sample.h"
comme
@interface Sample:NSObject
{
days d;
}
Si je veux utiliser ce moyen, j'ai besoin de créer et d'utiliser de l'instance. Mais je ne veux pas comme ça.
- Je besoin pour utiliser comme
days.d or days.sa or days.th
Comment faire ?, Ce doit être utilisée pour l'ensemble du Projet et
Comment créer enum en tant que variable de classe au lieu de la variable d'instance ?
- Faire
static
- oui déclarant enum comme statique ne donne pas d'erreur de compilation. Mais Comment l'utiliser? J'ai essayé comme suit "enum jours d;". Mais donne une erreur.
- statique ne fournit pas la création de l'instance. vous pouvez utiliser jours.sa
- int a=nombre de jours.sa; donne une erreur de compilation
- êtes-vous en mesure de se connecter
days.sa
? - Si j'écris jours.sa en viewController.m, il donne une erreur de compilation ..
Vous devez vous connecter pour publier un commentaire.
Dans l'enum vous avez créé,
s
,m
etc. sont disponibles dans le monde entier (c'est à dire à tout ce qui les importationssample.h
). Si vous voulez l'entier correspondant à samedi, par exemple, c'est justesa
, pasdays.sa
. Je pense que vous êtes confus enums avec les structures.Pour cette raison, il est préférable d'utiliser plus détaillé des noms dans votre enum. Quelque chose comme:
si par exemple la
WeekdayMonday
est maintenant juste une autre manière d'écrire2
dans votre application, mais permet de rendre votre code plus lisible et pré-définit le possible les valeurs pour une variable de typeWeekday
.Ci-dessus est très bien, mais pour une meilleure prise en charge du compilateur et de s'assurer de la taille d'un
Weekday
, je vous recommande d'utiliserNS_ENUM
:0
au lieu de1
. La seule raison pour laquelle j'ai choisi1
dans cette affaire était de match avec l'enum déclaré dans la question.hey vous utilisez enum comme il s'agit ici d'un exemple
Dans .h définir enum
Dans .m le jeu avec le protocole enum élément comme ce
si vous voulez en savoir plus cliquez sur cette.
La création d'Enum en Enumrations.h
Où jamais vous voulez l'utilisateur ce enum il suffit d'importer Enumrations.h, et vous pouvez les utiliser Atype sans créer d'objet de type.
vous pouvez simplement utiliser
NSLog(@"%@",@(Atype))
.