Hug*_*nso 17 uiviewcontroller ios swift ios8
在尝试为UIViewController实现扩展时,我意识到没有正常的方法,或者不允许覆盖这些函数(即使它们可用于UICollectionViewController和UITableViewController):
extension UIViewController{
public override func viewWillAppear(){
super.viewWillAppear()
//do some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
我意识到没有正常的方法,或者不允许覆盖这些函数(即使它们可用于UICollectionViewController和UITableViewController):
有一些方法可以做到这一点?我想在那里有一些实现,并为我的应用程序上的每个UIViewController工作...所有在一个地方.
请注意,我不想创建一个新类继承UIViewController,重写这些方法并让我的控制器扩展它.这是一个显而易见且最简单的解决方案,但这并不能满足我的目标.
我在XCode 6.3中使用swift 1.2
Ant*_*nio 22
您要做的是与此代码所做的类似:
class MyClass {
func myFunc() {}
}
extension MyClass {
override func myFunc() {}
}
Run Code Online (Sandbox Code Playgroud)
您尝试覆盖的4个方法是在UIViewController其中的一个超类中定义的,而不是其中一个.并且您不能覆盖在同一个类中定义的方法.
更新
我可以想出两种不同的方法来解决问题 - 第一种是你不想要的方法(子类化UIViewController).
另一个是方法调配 - 我从来没有使用过它所以我不想向你提供不准确的信息.也许值得阅读Nate Cook的这篇文章,顺便提一下,这是一个替换的例子viewWillAppear.
| 归档时间: |
|
| 查看次数: |
19130 次 |
| 最近记录: |