2014-09-20 15 views
10

Ricevo l'errore function definition is not allowed here su tutti e tre i enum s. Ho recentemente aggiornato a Xcode 6.0.1 e sto ricevendo quell'errore ora. Come posso correggere questo errore, dovrei evitare di usare questa macro. Ho anche impostato l'SDK di destinazione su iOS 6.0 che supporta queste macro.NS_ENUM - la definizione della funzione non è consentita qui

BConstants.h 

#ifndef asdf_BPConstants_h 
#define asdf_BPConstants_h 


typedef NS_ENUM(NSUInteger, BTheme) { 
    kField 
}; 

typedef NS_ENUM(NSUInteger, BItem) { 
    kBox 
}; 

typedef NS_ENUM(NSUInteger, BMovementState) { 
    kTouchUp, 
    kTouchDown 
}; 

#endif 

risposta

12

L'importazione di UIKit ha risolto questo problema per me.

#import <UIKit/UIKit.h> 
+5

Per essere chiari, l'ordine delle linee questioni qui. Devi posizionare il blocco 'NS_ENUM (...' ** dopo ** che esegui l'importazione. @alfavata (risposta sotto) è corretto, che 'Foundation' è sufficiente.Se hai bisogno delle funzionalità di' UIKit', importa 'UIKit 'porta' Foundation' insieme ad esso. – mbm29414

21

L'importazione di Foundation dovrebbe essere sufficiente.

@import Foundation; 

(avrei aggiunto questo alla risposta di Matt, ma non ho la reputazione di commentare, sorry)

Problemi correlati