我对obj-c很新,并且有下一个问题: 我有两个类:Main和Second(Second不是Main的子),我想在Main类中声明一个方法,它作为参数获取第二类对象。它看起来像这样:
#import "CCNode.h"
#import "Second.h"
@interface Main : CCNode
-(void)buyFor:(int)price object:(Second *) obj;
@end
Xcode在解析(Second *)时给出解析问题,它不会获得我想要作为参数的对象类型。 因此,如果您需要有关课程/项目的更多信息,请告诉我。
Second.h
#import "CCNode.h"
@interface Second : CCNode
@property int price;
Second.m
#import "Second.h"
#import "Main.h"
@implementation Second{
Main *_main;
}
-(void)tap{
NSLog(@"Buy");
[_main buyObject:self forPrice:_price];
}
答案 0 :(得分:0)
Xcode给你带来了什么问题?乍看之下代码看起来很好。你有" Second.h"和" Second.m"项目中的文件?
其他一些提示:
将标头导入标头不是很好的做法。使用Main.h标头中的@class关键字进行前向声明并导入" Second.h"在" Main.m"实施文件。我想你应该试一试,看看错误是否再次发生。
您的方法名称在Objective-C方式中并不正确。像-(void)buyObject:(Second *)obj forPrice:(int)price
这样的东西会更正确,方法名称更像是一个实际的句子。