1
我有这样的代码:'不相容目标c类型分配' 错误
.H:
@interface ColorPickerView : UIViewController {
HSBEditView *hsbEditView;
}
的.m:
hsbEditView = [[HSBEditView alloc] initWithFrame:CGRectMake(0, 0, 280, 46) H:h S:s B:b];
正如我打字,这initWithFrame方法是一个建议,我按Tab键填写正确。
的问题是,最后一行在那里,一个在M档,得到这样的警告:
Incompatible objective-c types assigning '*', expected '*'
Incompatible objective-c types assigning 'struct HEXEditView *', expected 'struct HSBEditView *'
HEXEditView是另一种看法,我有,但你可以清楚地看到,有没有提到它在这一行。
编辑:
实现像这样:
-(HSBEditView *)initWithFrame:(CGRect)frame H:(float)hue S:(float)saturation B:(float)brightness {
[super initWithFrame:frame];
...
return self;
}
编辑:发现的解决方案!我不得不将它们重命名为稍有不同,因为该方法与另一个类中的init方法具有相同的名称。我仍然很想知道如何正确解决这个问题(如果有另一种方式),因为重命名init方法并不理想?
你如何实现'initWithFrame:H:S:B:'? – 2011-06-14 23:44:51