2016-10-19 77 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()它。