Войти

Singltone

Singleton - это шаблон дизайна, который очень популярен в разработке. Большинство разработчиков используют этот шаблон проектирования. Это очень просто, распространено и удобно в вашем проекте. Он инициализирует ваш экземпляр класса только один раз со статическим свойством и будет использовать ваш экземпляр класса глобально.

Мы так много раз использовали API-интерфейсы Apple Foundation, как - UserDefaults.standard, FileManager.default. Которые похожи на шаблон класса Singleton.

Простой пример использования

class LocationManager {

 //MARK: - Location Permission
 func requestForLocation(){
  //Code Process
  print("Location granted")
 }

}

let location = LocationManager() //initialization class
location.requestForLocation()//Call function here

Это класс с одноэлементным шаблоном для доступа к любой функции, которую нам нужно каждый раз инициализировать, чтобы избежать этого, мы используем одноэлементные классы со статическим экземпляром.

Singltone

class LocationManager {

 static let shared = LocationManager()

 init(){}

 func requestForLocation(){
  //Code Process
  print("Location granted")
 }

}

//Access class function with Singleton Pattern 🚀
LocationManager.shared.requestForLocation()//"Location granted"

//Still you can use your class like this
let location = LocationManager()
location.requestForLocation()

Применение

//In a single line you can access easily
LocationManager.shared.requestForLocation() // "Location granted"

//Access variable value
print(LocationManager.shared.locationGranted ?? false) // true