ho definito un NS_ENUM di seguito in un altro file:riferimento al enum è ambiguo Objective-C
typedef NS_ENUM (NSUInteger, LinkPlatformType){
LinkPlatformTypeEmail = 1,
LinkPlatformTypeFacebook,
LinkPlatformTypeGoogle
};
Quando provo a fare un caso interruttore:
- (void)linkWithType:(LinkPlatformType)linkType {
switch (linkType) {
case LinkPlatformTypeGoogle:
break;
case LinkPlatformTypeFacebook:
break;
default:
break;
}
}
sto ottenendo un errore di generazione: Reference to LinkPlatformTypeGoogle is ambiguous
. Reference to LinkPlatformTypeFacebook is ambiguous
.
Aggiornamenti:
Il defines.h di file che ho definito l'enum è per esempio Obiettivo 1, e c'è una classe StoreClass che importare questo file defines.h. E l'iscrizione al target StoreClass.m che ho impostato come target multipli: Target 1 e Target 2. Quindi, dopo averlo fatto, è apparso lo Reference to LinkPlatformTypeFacebook is ambiguous
. Sarà questa la ragione?
Avete provato con una denominazione diversa per l'enum? La mia ipotesi migliore è che potrebbe essere solo un conflitto di denominazione e il compilatore non sa cosa fare riferimento. – Vlad
Ho provato lo stesso codice del tuo con un nuovo progetto..non ricevo alcun errore in quanto tale, solo per verificare di aver importato il file? e sì ho messo NS_ENUM nel file define.h che è il file di intestazione. –
@Vlad Ho controllato due volte. Non c'è conflitto di denominazione. Ne ho solo definito uno nel mio progetto. –