[Xcode10 实际操作]七、文件与数据-(15)单例模式的使用

本文将演示单例对象的使用。

在项目名称上点击鼠标右键,弹出右键菜单,选择【New File】新建文件命令,

在弹出的模板选项窗口中,选择【Swift】文件选项,创建一个单例类文件。

->【Next】->在存储为输入框内,输入属性列表文件的名称,

【Save As】:SingletonClass.swift

->然后点击创建【Create】按钮,确认单例类文件的创建

新建文件【SingletonClass.swift】已经打开,现在创建单例类。

单例类:如果一个类始终只能创建一个实例,则这个类被称为单例类。

 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】

通过单例模式可以保证系统中一个类只有一个实例,从而方便对实例个数的控制,节约系统资源。

 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 }

猜你喜欢

转载自www.cnblogs.com/strengthen/p/10049868.html