2015-10-11 75 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

我想在单独的文件上组织我的代码。我有一个非常漫长的课程,我正在寻找一种以同样的功能分解它的方法。 我在考虑子类,但我接受其他解决方案。 –