期望在“@”之后有一个 Objective-C 指令
Posted
技术标签:
【中文标题】期望在“@”之后有一个 Objective-C 指令【英文标题】:expected an objective-c directive after '@' 【发布时间】:2015-06-19 06:25:47 【问题描述】:我正在将 XMPP 框架集成到我的项目中。当我编译项目时,我遇到了一个问题,即 XMPPGroupCoreDataStorageObject.h 类中的expected an objective-c directive after '@'
。
//XMPPGroupCoreDataStorageObject.h
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class XMPPUserCoreDataStorageObject;
@interface XMPPGroupCoreDataStorageObject : NSManagedObject
@private
@property (nonatomic, strong) NSString * name;
@property (nonatomic, strong) NSSet* users;
+ (void)clearEmptyGroupsInManagedObjectContext:(NSManagedObjectContext *)moc;
+ (id)fetchOrInsertGroupName:(NSString *) groupName inManagedObjectContext:(NSManagedObjectContext *)moc;
+ (id)insertGroupName:(NSString *) groupName inManagedObjectContext:(NSManagedObjectContext *)moc;
@end
编译代码时遇到问题,请看截图
【问题讨论】:
我已经这样做了很多次了。但没有成功。 遇到此错误时正在编译的实现文件是什么?它可能有#define
d groupName
到某个东西或导入了一个具有的标题。通过导入此标头的位置显示该源文件的行。您还可以要求 Xcode 预处理该源文件并检查这些行已转换为什么。
如果您在这 2 个类中有相同名称的常量可能会导致此错误,请检查并告诉我是否已修复?
可能是unicode损坏的问题,尝试删除g,space,),重新输入")g"
【参考方案1】:
我尝试编译您的源代码,没有错误。 尝试清除项目 (Product -> Clean) 和派生数据,它应该会有所帮助。
how to clear derived data
【讨论】:
以上是关于期望在“@”之后有一个 Objective-C 指令的主要内容,如果未能解决你的问题,请参考以下文章
读Google Objective-C Style Guide 有感想