在我的应用程序中,我有一个故事板,其中包含一系列元素。我从" ViewController.swift"。
设置这些元素的属性在故事板上有两个UIViews,它们已经被子类化以允许绘制方法。它们将被用作"签名"用户可以在框中签名的字段。这很好。
UIViews的一个子类化方法是" eraseBitmap"它清除了绘图的UIView。
class SigView: UIView {
...
func eraseBitmap() {
path = nil
cache = nil
}
}
我有一个调用函数的按钮" erase"在父VC中。
我尝试过做
func erase() {
SigView.eraseBitmap()
}
然而,这会产生一个错误,说我错过了一个参数。但是,eraseBitmap不接受任何参数。
如果我添加一个参数,无论它是什么,我得到一个" SigView不能转换为......"错误。
任何想法,或更好的编码这部分的方法?
答案 0 :(得分:1)
您的SigView
类定义了一种方法eraseBitmap()
- 类似于:
class SigView : UIView {
func eraseBitmap () { /* ... */ }
}
您将此方法应用于SigView
的实例。因此,您的用户界面中有SigView
的实例,例如:
var aView : SigView = ...
然后您将使用:
func erase () {
aView.eraseBitmap()
}
或者
func erase (view:SigView) {
view.eraseBitmap()
}
您获得的错误是由于尝试在类上调用非类方法引起的。只能在类的实例上调用非类方法。