我如何在swift中为iphone应用程序创建全局服务

时间:2015-08-12 10:30:30

标签: ios iphone swift service singleton

我是ios和swift的新手,并且真的不确定用于全球服务的方法。 截至目前我的方法是 - 我创建一个NSTimer的对象,并以2分钟的固定时间间隔调用一个函数A()。我需要在多种情况下调用它,如下所述:

  1. 当我启动我的应用程序时 - 那时我需要启动NSTimer并调用A()。
  2. app的子页面之一有按钮名称“Show”,当我点击相同的功能时应该被调用。
  3. 当应用程序进入后台时,需要以2分钟的固定间隔调用相同的功能。
  4. 这是我的困惑 - 我只需创建单个实例,以便不存在多个实例,并且如果在任何情况下它应该终止正在运行的函数。

    我只需要在swift中执行此操作。 如果存在,请建议或提供任何示例。

    感谢

1 个答案:

答案 0 :(得分:6)

假设,您的类为SomeService。以下是如何创建单例:

 class SomeService {


  static let sharedInstance : SomeService = {
    //Do any computations needed to have the args for SomeService initializer, if not you can omit this closure and directly assign SomeService() to sharedInstance
    return SomeService() //<--Call the designated initialiser to instantiate the object.
    }()

   //Other methods of the class....
}

基本上,它只是一个类级别,让你的类的同一类型保持不变。希望这会有所帮助。

您可以按如下方式访问单身:

SomeService.sharedInstance