Swift:UIViewController常用函数继承

时间:2016-07-08 04:24:31

标签: ios swift oop inheritance viewcontroller

我来自Android背景,我是Swift的新手。 我想知道如何在ViewControllers中使用具有DRY原则的常用函数。

我需要所有的ViewControllers从一个地方调用以下函数:

  1. isNetworkAvailable()//检查应用是否有互联网返回布尔值

  2. getLoggedinUser()//返回我之前设置的用户对象

  3. showAlert(message:String)//显示弹出窗口

  4. startLoader()//显示加载程序

  5. stopLoader()//停止加载程序

  6. 正如您所看到的,这些方法是全局的,我需要多次重复使用它们。所以我不想一遍又一遍地复制粘贴相同的代码。

    在Android中,我只需制作一个BaseActivity并将所有这些方法放入其中。稍后我将BaseActivity扩展为SubActivities并继承这些常用方法。

    我不确定如何在" IOS Swift"因为所有ViewControllers都附加到StoryBoard。

    您能告诉我实现这一目标的最佳方法是什么?专业的Swift开发人员如何处理这样的情况?

    (请注意 - 我不想删除故事板并手动创建UI元素。)

    提前致谢!

1 个答案:

答案 0 :(得分:1)

创建一个CommonFunctions命名的公共类(只是一个建议,你可以将它命名为你想要的任何类名)从NSObject和import UIKit模块扩展它,因为我认为你也想要执行UI像startLoader() & stopLoader()这样的操作就可以编写你在问题中提到的静态全局方法。

您可以使用CommonFunctions.methodName()致电。

或者,如果您不想创建静态函数,则在任何您想要访问这些全局方法的地方创建CommonFunctions类的对象,并调用您想要的方法。

相关问题