25/07/2019, 10:07

Singleton Class trong Swift

Singleton là một design pattern rất phổ biến trong phát triển phần mềm. Hầu hết các lập trình đều đang sử dụng design pattern này. Singleton rất đơn giản, phổ biến và dễ sử dụng trong dự án của bạn. Nó cùng lúc khởi tạo thể hiện lớp của bạn chỉ với thuộc tính tĩnh và nó sẽ chia sẻ thể hiện lớp của ...

Singleton là một design pattern rất phổ biến trong phát triển phần mềm. Hầu hết các lập trình đều đang sử dụng design pattern này. Singleton rất đơn giản, phổ biến và dễ sử dụng trong dự án của bạn. Nó cùng lúc khởi tạo thể hiện lớp của bạn chỉ với thuộc tính tĩnh và nó sẽ chia sẻ thể hiện lớp của bạn trên toàn project. Chúng ta đã sử dụng rất nhiều lần các API của Apple Foundation như - UserDefaults.standard, FileManager.default. Đó là những singleton class pattern.

Một số ví dụ đơn giản để sử dụng class

class LocationManager{
//MARK: - Location Permission
    func requestForLocation(){
        //Code Process
        print("Location granted")
    }
    
}
//Access the class
let location = LocationManager() //initialization class
location.requestForLocation()    //Call function here

Ví dụ trên là 1 class không có sử dụng singleton. Để truy cập bất kì hàm nào, chúng ta cần khởi tạo 1 đối tượng của LocationManager để gọi đến chúng. Để tránh vấn đề này, chúng ta sẽ sử dụng single class với 1 static instance.

Tạo single class

class LocationManager{
    
    static let shared = LocationManager()
    
    init(){}
    
    func requestForLocation(){
        //Code Process
        print("Location granted")
    }
    
}
//Access class function with Singleton Pattern             
0