[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 }
相关文章
相关标签/搜索