在Swift 4中通过带有函数的参数解析类对象

时间:2019-02-15 02:57:30

标签: swift

我想通过函数传递对象。

错误:显示对象中没有成员

功能

func startLoading(_ whichClass: Any) {

 whichClass!.startAnimating()

}

回调功能

let vControllerMe = ControllerMe()

startLoading(vControllerMe)

可以解析吗?

1 个答案:

答案 0 :(得分:2)

如果您打算传递各种类的实例,请使用协议。

protocol Animatable {
    func startAnimating();
}

extension ControllerMe: Animatable {
    func startAnimating() {
        // here goes your animation code
    }
}
func startLoading(_ whichClass: Animatable) {
    whichClass.startAnimating()
}

然后,您可以传递符合Animatable协议的类的任何实例。

let vControllerMe = ControllerMe()

startLoading(vControllerMe)