词法或预处理器问题错误导致核心数据类"may not respond to"方法警告?



我得到Lexical or Preprocessor Issue 'Group.h' file not found,我认为这是导致下面问题的原因。

我试图在我的一个核心数据类实例上调用一个方法,我得到一个'Group' may not respond to '-addPeople:'警告。但我在XCode生成的Group类中有一个addPeople方法,在这里:

- (void)addPeople:(NSSet *)value {    
    [self willChangeValueForKey:@"people" withSetMutation:NSKeyValueUnionSetMutation usingObjects:value];
    [[self primitiveValueForKey:@"people"] unionSet:value];
    [self didChangeValueForKey:@"people" withSetMutation:NSKeyValueUnionSetMutation usingObjects:value];
}

我也得到同样的警告,如果我尝试removePeople。这两个方法都需要用到nsset但我能从Group类中调用setter。

[selectedObject setTitle:[[titleCell textField] text]]; // works
[selectedObject setSubtitle:[[subTitleCell textField] text]]; // works
NSSet *tempPeople = [NSSet setWithArray:people];
[selectedObject addPeople:tempPeople]; // works, but with warning

边注

当我输入[selectedObject时,我没有得到自动完成,虽然单词selectedObject作为一个组自动完成。所以至少这是好的。

Group.h

@class People;
@interface Group : NSManagedObject {
@private
}
@property (nonatomic, retain) NSString * title;
@property (nonatomic, retain) NSNumber * order;
@property (nonatomic, retain) NSString * subtitle;
@property (nonatomic, retain) NSSet* people;
@end

我刚刚创建了一个新的UITableViewCell类现在它不是说Lexical or Preprocessor Issue 'Group.h' file not found而是说Lexical or Preprocessor Issue 'PersonCell.h' file not found

如果您也能够发布您的接口文件将会很有帮助。以下是我可能会看到的一些原因:

你有一个Group.h文件,但是它没有这些方法的方法声明。您有一个Group.h文件,它确实有方法声明,但是您没有将Group.h导入到另一个类中。您根本没有Group.h文件,并且正在尝试将方法和变量配置为实现文件中的私有对象。

你能给我们发更多的代码吗?也可能是[selectedObject]声明?

词法或预处理器问题

嗯,我不知道我的问题是什么,所以我做了一个新项目,重做了每个视图控制器,core data和其他任何我需要的。这就解决了我的问题。我希望我知道是什么导致了Lexical错误,但从其他人的帖子来看,这可能是一个bug。

组'可能不响应'-addPeople:

此问题已通过将方法添加到.h文件中解决。我不知道为什么XCode没有为我做这些,但这解决了这个问题。

谢谢xianritchie帮我解决这个问题。

相关内容

  • 没有找到相关文章

最新更新