iOS Swift - 从父级访问子级中的方法
iOS Swift - Accessing method in Child from Parent
在我的应用程序中,我有一个故事板,其中布置了一堆元素。我正在从 "ViewController.swift".
设置这些元素的属性
故事板上有两个 UIView,它们已被子类化以允许绘制方法。它们将用作 "signature" 字段,用户可以在其中签名到框中。这工作正常。
UIViews 的子类方法之一是 "eraseBitmap",它清除绘图的 UIView。
class SigView: UIView {
...
func eraseBitmap() {
path = nil
cache = nil
}
}
我有一个按钮调用父 VC 中的函数 "erase"。
我试过
func erase() {
SigView.eraseBitmap()
}
然而,这会生成一个错误,提示我缺少参数。然而,eraseBitmap 不接受任何参数。
如果我添加一个参数,不管它是什么,我都会得到一个 "SigView not convertible to..." 错误。
有什么想法或更好的编码方式吗?
您的 SigView
class 定义了一个方法 eraseBitmap()
- 类似于:
class SigView : UIView {
func eraseBitmap () { /* ... */ }
}
您会将此方法应用于 SigView
的实例。所以,在你的 UI 中有一个 SigView
的实例,比如:
var aView : SigView = ...
然后您将使用:
func erase () {
aView.eraseBitmap()
}
或者也许
func erase (view:SigView) {
view.eraseBitmap()
}
您遇到的错误是由于试图在 class 上调用非 class 方法引起的。非 class 方法只能在 classes.
的实例上调用
在我的应用程序中,我有一个故事板,其中布置了一堆元素。我正在从 "ViewController.swift".
设置这些元素的属性故事板上有两个 UIView,它们已被子类化以允许绘制方法。它们将用作 "signature" 字段,用户可以在其中签名到框中。这工作正常。
UIViews 的子类方法之一是 "eraseBitmap",它清除绘图的 UIView。
class SigView: UIView {
...
func eraseBitmap() {
path = nil
cache = nil
}
}
我有一个按钮调用父 VC 中的函数 "erase"。
我试过
func erase() {
SigView.eraseBitmap()
}
然而,这会生成一个错误,提示我缺少参数。然而,eraseBitmap 不接受任何参数。
如果我添加一个参数,不管它是什么,我都会得到一个 "SigView not convertible to..." 错误。
有什么想法或更好的编码方式吗?
您的 SigView
class 定义了一个方法 eraseBitmap()
- 类似于:
class SigView : UIView {
func eraseBitmap () { /* ... */ }
}
您会将此方法应用于 SigView
的实例。所以,在你的 UI 中有一个 SigView
的实例,比如:
var aView : SigView = ...
然后您将使用:
func erase () {
aView.eraseBitmap()
}
或者也许
func erase (view:SigView) {
view.eraseBitmap()
}
您遇到的错误是由于试图在 class 上调用非 class 方法引起的。非 class 方法只能在 classes.
的实例上调用