我有一个从视图控制器调用的共享函数,它是 Equatable 类型的扩展。我可以从共享功能中调用视图控制器功能吗?我在共享函数中有一个完成处理程序,所以最终我会将我的函数调用放在那里。
extension Equatable {
func share() {
// I need some kind of instance of
// my view controller here
myViewController.functionToBeCalled()
// other code
}
}
我注意到我正在使用 topViewController 来呈现 UIActivityController。我可以用那个吗?在 topViewController 之后按 ESC 时找不到我想要的功能:
UIApplication.topViewController?.present(activity, animated: true, completion: nil)
更新:我通过共享函数传递了视图控制器的引用,它可以工作。不确定这是否是最好的方法。