başka dosyada altında bir NS_ENUM tanımlanır:Referans belirsiz amaç-c
typedef NS_ENUM (NSUInteger, LinkPlatformType){
LinkPlatformTypeEmail = 1,
LinkPlatformTypeFacebook,
LinkPlatformTypeGoogle
};
Bir switch case yapmaya çalışacağım: Bir yapı hatası alıyorum
- (void)linkWithType:(LinkPlatformType)linkType {
switch (linkType) {
case LinkPlatformTypeGoogle:
break;
case LinkPlatformTypeFacebook:
break;
default:
break;
}
}
: Reference to LinkPlatformTypeGoogle is ambiguous
. Reference to LinkPlatformTypeFacebook is ambiguous
.
Güncellemeler:
i enum Hedef 1 örneğin içindedir tanımlanan, Ve bu defines.h dosyasını içe Sınıf StoreClass var dosya defines.h. Ve StoreClass.m Hedef Üyelik Birden çok hedef olarak belirledim: Hedef 1 ve Hedef 2. Bunu yaptıktan sonra Reference to LinkPlatformTypeFacebook is ambiguous
ortaya çıktı. Sebebi bu mu olacak?
çalıştı? En iyi tahminim, bunun sadece bir isimlendirme çakışması olması ve derleyicinin ne referans göstereceğini bilmemesi. – Vlad
Yeni bir proje ile aynı kodu denedim..Bu dosyayı aldığınızı doğrulamak için herhangi bir hatayı almıyorum? ve evet NS_ENUM'u başlık dosyası olan defines.h dosyasına koydum. –
@Vlad İki kez kontrol ettim. Adlandırma çakışması yok. Sadece projemde bir tanesini tanımladım. –