Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone Obj-C中忽略的子类方法?_Iphone_Objective C_Oop_Iphone Sdk 3.0 - Fatal编程技术网

Iphone Obj-C中忽略的子类方法?

Iphone Obj-C中忽略的子类方法?,iphone,objective-c,oop,iphone-sdk-3.0,Iphone,Objective C,Oop,Iphone Sdk 3.0,我对Obj-C项目中的一个错误有些困惑。我所做的很简单,不明白我在这里遗漏了什么。我只是在UIImageView的子类中创建一个非常简单的方法,然后实例化该类。当我试图从我的实例中使用该方法时,编译器会抱怨它没有实现(尽管实现了) 任何协助都将不胜感激 在my.h文件中: @interface CwheelElement : UIImageView { int type; int position; int row; float rotation; } - (CwheelElement *)

我对Obj-C项目中的一个错误有些困惑。我所做的很简单,不明白我在这里遗漏了什么。我只是在UIImageView的子类中创建一个非常简单的方法,然后实例化该类。当我试图从我的实例中使用该方法时,编译器会抱怨它没有实现(尽管实现了)

任何协助都将不胜感激

在my.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
在my.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喷丝头[7329:207]-[UIImageView测试]:未识别的选择器发送到实例0x4d0e710 2010-09-13 02:13:08.432喷丝头[7329:207]由于未捕获的异常“NSInvalidArgumentException”终止应用程序,原因:“*-[UIImageView测试]:未识别的选择器发送到实例0x4d0e710”**


它说,[cWheeleElement测试]没有实现,但它是。。。知道发生了什么吗?

抱歉,我发现在我的初始值设定项中隐藏着以下行:

self = [[UIImageView alloc] initWithImage:[UIImage imageNamed:pieceGraphicFilename]];
我将其更改为以下内容,不再存在此问题:

self.image = [UIImage imageNamed:pieceGraphicFilename];

顺便说一句,强烈建议从初始值设定项返回(id),以免在子类化时遇到同样的问题

- (id) initWithType:(int) iType andPosition:(int) iPosition onRow:(int) iRow;

感谢您回来发布您的解决方案,我对我的一个子类也做了同样的事情。