2014-09-20 19 views
10

Tôi nhận được lỗi function definition is not allowed here trên tất cả ba enum s. Gần đây tôi đã cập nhật lên Xcode 6.0.1 và hiện tôi nhận được lỗi đó. Làm cách nào để khắc phục lỗi này, tôi có nên tránh sử dụng macro này không. Tôi cũng đã đặt SDK mục tiêu thành ios 6.0 hỗ trợ các macro này.NS_ENUM - định nghĩa chức năng không được phép tại đây

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 

Trả lời

12

Nhập UIKit cố định này đối với tôi.

#import <UIKit/UIKit.h> 
+5

Để được rõ ràng, thứ tự của dòng vấn đề ở đây. Bạn phải đặt 'NS_ENUM (...' block ** sau ** bạn nhập vào. @alfavata (câu trả lời dưới đây) là đúng, 'Foundation' là đủ. Nếu bạn cần' UIKit', nhập 'UIKit 'mang' Foundation 'cùng với nó. – mbm29414

21

Nhập Foundation là đủ.

@import Foundation; 

(tôi sẽ có thêm này để trả lời của Matt nhưng tôi không có danh tiếng để bình luận, xin lỗi)

Các vấn đề liên quan