2015-10-11 73 views
-1

對不起,如果問題之前已經問過..我看了沒有找到它。子類化ViewController Swift

我正在用Swift2構建IOS應用程序。我有一個很長的主類(ViewController:UIViewController)。

我想通過在另外兩個新類中繼承視圖控制器來重組我的代碼Customer:Viewcontroller和Server:ViewController。

我的目標是,這兩個分類得到執行,添加擴展功能給我viewcontroller,擴展對我沒有用,因爲我重寫的子類。

如何在應用程序啓動時執行這些類。

現在我的代碼被組織這樣的...

//ViewController handling now almost all my code 
class ViewController: UIViewController,UIImagePickerControllerDelegate,MPCManagerDelegate,UITableViewDelegate,UITableViewDataSource,UINavigationControllerDelegate { 

///some variables 

override func viewDidLoad() { 
    super.viewDidLoad() 
////some other stuff 
} 
///some other functions 
} 



///Server subclass My goal is to print ("subclassing after view controller 's didload function 

class server:ViewController { 



override func viewDidLoad() { 
    super.viewDidLoad() 
    print ("loaded extern class") 
} 
} 

在此先感謝

+1

不清楚你在問什麼。期望的結果是什麼,實際上發生了什麼或沒有發生什麼? [還有,你的真實代碼?如果是這樣,請改變它。不要使用小寫字母來啓動類「server」的名稱。] – matt

+0

對不起,最後的評論是一個小費錯誤..不是我真正的代碼...現在寫入我只有viewcontroller類和更多。 我通過把something = otherclasses();來訪問其他類的方法。 something.othermethods()。 我現在想要的是... ViewController有大約2000行。我想分割它的子類(或其他)以更好地控制我的代碼。 現在寫...只是爲了簡單我只想在我的主類viewDidLoad被執行後打印出「laded external class」。 –

回答

0

你也可以繼承的其他類斯威夫特這樣的:

var subclassedServer = server() 

並訪問它內部的任何變量只是這樣做:

subclassedServer.somethingelse = value 

祝你好運!

+0

我的目標是執行它,因爲我在android上執行它...運行子類和子類調用超類方法super.method ...在覆蓋... 我的最終目標是先運行子類,使用super.method調用超類方法可以覆蓋這些方法 –

+0

只要你知道並非所有的東西都可以轉換成iOS!您是將視圖的類連接起來,還是隻想激發代碼?你想要做什麼?給我一個清晰的例子,我會幫你! – AaoIi

+0

我想在單獨的文件上組織我的代碼。我有一個非常漫長的課程,我正在尋找一種以同樣的功能分解它的方法。 我在考慮子類,但我接受其他解決方案。 –