#objective-c
#objective-c
Вопрос:
Я получаю следующую ошибку
Ожидаемый ‘{‘ перед ‘внешним’
при использовании файла заголовка третьей стороны, и он содержит следующий код
extern NSString *const kXXXError;
Связано ли использование с версией Xcode, поскольку в настоящее время я использую Xcode4
extern NSString *const kDeviceErrorDomain;
extern const NSInteger kDeviceErrorCodeUnknown;
@class DeviceInsightInternal;
@interface Device : NSObject {
DeviceInternal *_internal;
}
- (id)init;
- (NSString*)collect:(NSError**)error;
@property (nonatomic, assign) BOOL allowsJavascript;
@property (nonatomic, assign) BOOL privacyEnabled;
@end
Комментарии:
1. не могли бы вы предоставить немного более подробный код? как и весь файл .h, чтобы мы могли получить немного больше информации. В любом случае, вы проверили, что @interface Blah: UIWhatever имеет {, который закрывается сразу после объявления ivars
2. Я обновил вопрос с помощью кода.
3. Похоже, проблема возникла раньше (возможно, в одном из ваших импортных файлов?).
4. Извините, что спрашиваю .. я новичок в objective C …. можете ли вы сказать мне, на что вы ссылаетесь с помощью «имеет {, который закрывается сразу после объявления ivars»
5. на самом деле импорта нет… это заголовочный файл третьей стороны, предоставленный для использования в разработке..
Ответ №1:
Вы не можете объявить скалярное свойство, имеющее какой-либо вид семантики сохранения, присвоения, копирования, это приведет к ошибке компиляции. Вам следует изменить:
@property(nonatomic, assign) BOOL allowsJavascript;
@property (nonatomic, assign) BOOL privacyEnabled;
Для
@property(nonatomic) BOOL allowsJavascript;
@property (nonatomic) BOOL privacyEnabled;