期望在“@”之后有一个 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

编译代码时遇到问题,请看截图

【问题讨论】:

我已经这样做了很多次了。但没有成功。 遇到此错误时正在编译的实现文件是什么?它可能有 #defined groupName 到某个东西或导入了一个具有的标题。通过导入此标头的位置显示该源文件的行。您还可以要求 Xcode 预处理该源文件并检查这些行已转换为什么。 如果您在这 2 个类中有相同名称的常量可能会导致此错误,请检查并告诉我是否已修复? 可能是unicode损坏的问题,尝试删除g,space,),重新输入")g" 【参考方案1】:

我尝试编译您的源代码,没有错误。 尝试清除项目 (Product -> Clean) 和派生数据,它应该会有所帮助。

how to clear derived data

【讨论】:

以上是关于期望在“@”之后有一个 Objective-C 指令的主要内容,如果未能解决你的问题,请参考以下文章

毕业之后别迷茫,课得在线指方向

在 Objective-C 中删除字符串的特定部分

读Google Objective-C Style Guide 有感想

给定 nil 参数时要做啥的 Objective-c 约定?

期望入门之剑指三秦

Objective-C中mutableCopy和copy的理解