我对Obj-C项目中的错误感到困惑。我正在做的事情相当简单,不明白我在这里缺少什么。我只是在UIImageView的子类中创建一个非常简单的方法,然后实例化该类。当我尝试使用我的实例中的方法时,编译器会抱怨它没有实现(虽然它是)
任何帮助都将不胜感激。
在我的.h文件中:
@interface CwheelElement : UIImageView {
int type;
int position;
int row;
float rotation;
}
- (CwheelElement *) initWithType:(int) iType andPosition:(int) iPosition onRow:(int) iRow;
- (void) rotateByRadians:(float) iRadians;
- (void) test;
@property (nonatomic, assign) int type;
@property (nonatomic, assign) int position;
@property (nonatomic, assign) int row;
@end
在我的.m文件中:
- (CwheelElement *) initWithType:(int) iType andPosition:(int) iPosition onRow:(int) iRow {
self = [super init];
/* …stuff */
return self;
}
- (void) test {
NSLog(@"testing");
}
尝试使用该课程:
CwheelElement *iElement = [[CwheelElement alloc] initWithType:row3WheelTypes[i] andPosition:i onRow:3];
[lowerWheelElements addObject:iElement];
[iElement test];
我收到以下错误:
2010-09-13 02:13:08.431 spinnerX [7329:207] - [UIImageView test]:无法识别的选择器发送到实例0x4d0e710 2010-09-13 02:13:08.432 spinnerX [7329:207] 由于未捕获的异常'NSInvalidArgumentException'而终止应用,原因:'* - [ UIImageView测试]:无法识别的选择器发送到实例0x4d0e710'**
它说[CwheelElement测试]没有实现,但它是......任何想法发生了什么?
答案 0 :(得分:1)
道歉,我发现我的初始化程序中埋藏了以下内容:
self = [[UIImageView alloc] initWithImage:[UIImage imageNamed:pieceGraphicFilename]];
我将其更改为以下内容并且不再有问题:
self.image = [UIImage imageNamed:pieceGraphicFilename];
答案 1 :(得分:1)
- (id) initWithType:(int) iType andPosition:(int) iPosition onRow:(int) iRow;