2015-07-11 83 views
0

我正在Swift中設計一個NSView類擴展。內部使用此試圖覆蓋NSView的擴展類drawRect

extension NSView { 


    override func drawRect(rect: NSRect) { 


    } 

有錯誤指向覆蓋,並說方法不從其超覆蓋任何方法... drawRect這個方法使用Objective-C(即擴展類我試圖重寫的drawRect? ??)選擇器'drawRect'與前面的聲明衝突,具有相同的Objective-C選擇器

什麼? Objective-C的?我正在使用swift。

這是怎麼回事?

回答

2

延伸子類然後重寫這是已經由定義的方法。

drawRect已經被NSView定義,這就是爲什麼具有已定義衝突...

爲了做一個自定義視圖,你打算定義自己的NSView子類並覆蓋你的子類的drawRect實施。

class MyView: NSView { 

    override func drawRect(rect: NSRect) { 

    // Your custom implementation .... 

    } 
} 

希望這有助於

+0

DUH!你是對的。我錯過了。謝謝 – SpaceDog

+0

不客氣:-) –