无法构建Objective c模块

时间:2017-04-01 12:25:39

标签: ios objective-c swift3 xcode8

我正在使用swift创建一个xcode项目,它工作正常,但突然间它开始给我这个错误。

  

无法构建Objective C Module'Foundation'

     

/Users/admin/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.2.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSNotification.h: 17:4:前缀属性必须后跟接口或协议

即使我创建了一个新项目而只是构建它,也会显示此错误。该项目尚未建成。当我点击错误消息时,它会将我引导至此文件 NSNotification.h

以下是此文件的内容

/*  NSNotification.h
Copyright (c) 1994-2016, Apple Inc. All rights reserved.
*/

#import <Foundation/NSObject.h>

typedef NSString *NSNotificationName NS_EXTENSIBLE_STRING_ENUM;

@class NSString, NSDictionary, NSOperationQueue;

NS_ASSUME_NONNULL_BEGIN

/****************   Notifications   ****************/

@interface NSNotification : NSObject <NSCopying, NSCoding>

id@property (nullable, readonly, retain) id object;
@property (nullable, readonly, copy) NSDictionary *userInfo;

- (instancetype)initWithName:(NSNotificationName)name object:(nullable    id)object userInfo:(nullable NSDictionary *)userInfo NS_AVAILABLE(10_6, 4_0) NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder     NS_DESIGNATED_INITIALIZER;

@end

@interface NSNotification (NSNotificationCreation)

+ (instancetype)notificationWithName:(NSNotificationName)aName object:      (nullable id)anObject;
+ (instancetype)notificationWithName:(NSNotificationName)aName object:        (nullable id)anObject userInfo:(nullable NSDictionary *)aUserInfo;

- (instancetype)init /*NSUIImagePNGRepresentation_UNAVAILABLE*/;    /* do     not invoke; not a valid initializer for this class */

@end

/****************   Notification Center ****************/

@interface NSNotificationCenter : NSObject {
@package
void *_impl;
void *_callback;
void *_pad[11];
}

#if FOUNDATION_SWIFT_SDK_EPOCH_AT_LEAST(8)
@property (class, readonly, strong) NSNotificationCenter *defaultCenter;

- (void)addObserver:(id)observer selector:(SEL)aSelector name:(nullable      NSNotificationName)aName object:(nullable id)anObject;
#endif

- (void)postNotification:(NSNotification *)notification;
- (void)postNotificationName:(NSNotificationName)aName object:(nullable  id)anObject;
- (void)postNotificationName:(NSNotificationName)aName object:(nullable id)anObject userInfo:(nullable NSDictionary *)aUserInfo;

-     (void)removeObserver:(id)observer;
- (void)removeObserver:(id)observer name:(nullable NSNotificationName)aName object:(nullable id)anObject;

- (id <NSObject>)addObserverForName:(nullable NSNotificationName)name object:(nullable id)obj queue:(nullable NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *note))block NS_AVAILABLE(10_6, 4_0);
// The return value is retained by the system, and should be held onto by the caller in
// order to remove the observer with removeObserver: later, to stop observation.

@end

NS_ASSUME_NONNULL_END

请帮我解决这个问题。我将非常感激。感谢。

1 个答案:

答案 0 :(得分:3)

NSNotification.h中的这一行看起来像是被修改过的:

id@property (nullable, readonly, retain) id object;

删除该行前面的id并尝试重新编译。那应该解决它。