无法识别的选择器错误。

问题描述:

我想发送一个UIColor到UIView的子类。我收到一个无法识别的选择器错误。无法识别的选择器错误。

-[Subclass fillView]: unrecognized selector sent to instance 0x2006f880 

(子类是在我的项目一类,但我不知道它是如何与fillView。

这是导致问题就行了。

view.fillView.fillColor = fillColor; 

子类具有用于drawRect方法的属性

@property (strong, nonatomic) UIColor *fillColor; 

CGContextSetFillColorWithColor(context, _fillColor.CGColor); 
+0

什么是fillView?你为什么要使用它? – borrrden 2013-03-19 07:16:26

+0

你在使用弧吗?如果是这样,请确保您保留对该视图的引用。我曾经有过类似的问题,并使viewController @ @属性做了诡计。 – Jsdodgers 2013-03-19 07:20:08

您的代码

view.fillView.fillColor = fillColor; 

相当于

[[view fillView] setFillColor:fillColor]; 

所以无论类“视图”是(它似乎是类的子类“的),它不会给方法fillView响应。该错误与fillColor无关。您的代码在进入setFillColor调用之前崩溃。

+0

这是正确的。我从数组中获取视图,并且意外地尝试将错误类的对象分配给恰好在数组中的对象。谢谢! – Mrwolfy 2013-03-19 08:04:09

在你的情况view.fillView.fillColor将无法正常工作。
如果你真的要设置一种颜色作为您的视图的背景下,试试这个

[self.view setBackgroundColor:[UIColor redColor]]; 

希望这会有所帮助。