[Xcode 實際操做]7、文件與數據-(15)單例模式的使用

目錄:[Swift]Xcode實際操做html

本文將演示單例對象的使用。swift

在項目名稱上點擊鼠標右鍵,彈出右鍵菜單,選擇【New File】新建文件命令,ide

在彈出的模板選項窗口中,選擇【Swift】文件選項,建立一個單例類文件。post

->【Next】->在存儲爲輸入框內,輸入屬性列表文件的名稱,spa

【Save As】:SingletonClass.swift日誌

->而後點擊建立【Create】按鈕,確認單例類文件的建立code

新建文件【SingletonClass.swift】已經打開,如今建立單例類。htm

單例類:若是一個類始終只能建立一個實例,則這個類被稱爲單例類。對象

 1 import Foundation
 2 
 3 //建立一個類
 4 class Singleton
 5 {
 6     //給類添加一個屬性
 7     var action = "Run"
 8     
 9     //對於單利類來講,須要建立一個,惟一對外輸出實例的方法
10     //靜態變量使用static來處理
11     static let singleton = Singleton()
12     
13     //建立一個方法
14     func doSomething()
15     {
16         //在控制檯打印輸出實例自身的屬性值
17         print(action)
18     }
19 }

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】blog

經過單例模式能夠保證系統中一個類只有一個實例,從而方便對實例個數的控制,節約系統資源。

 1 import UIKit
 2 
 3 class ViewController: UIViewController {
 4 
 5     override func viewDidLoad() {
 6         super.viewDidLoad()
 7         // Do any additional setup after loading the view, typically from a nib.
 8         
 9         //建立一個常量,用來表示一個單例類的實例
10         let singleton = Singleton.singleton
11         //建立第二個常量,表示同一個單例類的實例
12         let singleton2 = Singleton.singleton
13         
14         //執行第一個單例對象的方法,
15         //這將在控制檯輸出一條日誌,打印單例對象的屬性值
16         singleton.doSomething()
17         
18         //更改第二個對象的屬性值
19         singleton2.action = "Walk"
20         
21         //執行兩個單例對象的方法,在控制檯分別輸出他們的屬性值。
22         singleton2.doSomething()
23         singleton.doSomething()
24         //輸出的屬性值一致
25     }
26 
27     override func didReceiveMemoryWarning() {
28         super.didReceiveMemoryWarning()
29         // Dispose of any resources that can be recreated.
30     }
31 }
相關文章
相關標籤/搜索