использование внешних ресурсов в Xcode4

#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;