2013-03-19 155 views
-1

我想發送一個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

回答

0

您的代碼

view.fillView.fillColor = fillColor; 

相當於

[[view fillView] setFillColor:fillColor]; 

所以無論類「視圖」是(它似乎是類的子類「的),它不會給方法fillView響應。該錯誤與fillColor無關。您的代碼在進入setFillColor調用之前崩潰。

+0

這是正確的。我從數組中獲取視圖,並且意外地嘗試將錯誤類的對象分配給恰好在數組中的對象。謝謝! – Mrwolfy 2013-03-19 08:04:09

0

在你的情況view.fillView.fillColor將無法正常工作。
如果你真的要設置一種顏色作爲您的視圖的背景下,試試這個

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

希望這會有所幫助。

相關問題