2016-10-19 41 views
2

我想创建一个自定义的类,它扩展了uiviewcontroller的一个函数,当我创建自定义类的子类时,该函数会自动生成。像UIViewController的子类中的viewDidLoad和didReceiveMemoryWarning。 我该怎么办?如何自动生成方法,如ViewDidLoad

我CustomViewController:

class CustomViewController: UIViewController 

我CustomViewController的子类:

class MySubClass: CustomViewController { 

    override func generatedFunction() { 

     //Do something 
    } 
} 
+1

您可以[创建自己的片段](http://nshipster.com/xcode-snippets/)。 –

+0

这些是视图控制器的生命周期方法。如果你不重写这个,会调用父视图控制器意味着UIVIewController方法。你不能生成像viewDidLoad这样的方法。 – Sahil

回答

4
  • 使用的代码片段。
  • 转到/Applications/Xcode/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates并编辑模板。
0

您可以创建一个CustomViewController,然后将您的方法添加到它,然后调用viewDidLoad中的方法。像这样

import UIKit 

class CustomViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     self.generatedFunction() 
    } 

    public func generatedFunction() { 
     //Do something 
    } 
} 

然后你可以使用它像这样,

import UIKit 

class ViewController: CustomViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    override func generatedFunction() { 
     super.generatedFunction() 

     // Do Something 
    } 
} 

你需要确保如果重写viewDidLoad,那么你需要调用super.viewDidLoad()它。