我来自Android背景,我是Swift的新手。 我想知道如何在ViewControllers中使用具有DRY原则的常用函数。
我需要所有的ViewControllers从一个地方调用以下函数:
isNetworkAvailable()//检查应用是否有互联网返回布尔值
getLoggedinUser()//返回我之前设置的用户对象
showAlert(message:String)//显示弹出窗口
startLoader()//显示加载程序
stopLoader()//停止加载程序
正如您所看到的,这些方法是全局的,我需要多次重复使用它们。所以我不想一遍又一遍地复制粘贴相同的代码。
在Android中,我只需制作一个BaseActivity并将所有这些方法放入其中。稍后我将BaseActivity扩展为SubActivities并继承这些常用方法。
我不确定如何在" IOS Swift"因为所有ViewControllers都附加到StoryBoard。
您能告诉我实现这一目标的最佳方法是什么?专业的Swift开发人员如何处理这样的情况?
(请注意 - 我不想删除故事板并手动创建UI元素。)
提前致谢!
答案 0 :(得分:1)
创建一个CommonFunctions
命名的公共类(只是一个建议,你可以将它命名为你想要的任何类名)从NSObject和import UIKit
模块扩展它,因为我认为你也想要执行UI像startLoader() & stopLoader()
这样的操作就可以编写你在问题中提到的静态全局方法。
您可以使用CommonFunctions.methodName()
致电。
或者,如果您不想创建静态函数,则在任何您想要访问这些全局方法的地方创建CommonFunctions
类的对象,并调用您想要的方法。