zoukankan      html  css  js  c++  java
  • [Xcode 实际操作]七、文件与数据-(15)单例模式的使用

    目录:[Swift]Xcode实际操作

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

    在项目名称上点击鼠标右键,弹出右键菜单,选择【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 }
  • 相关阅读:
    雷林鹏分享:XML to HTML
    雷林鹏分享:XML DOM
    雷林鹏分享:XML 编码
    雷林鹏分享: XML CDATA
    雷林鹏分享:服务器上的 XML
    雷林鹏分享:XML 注意事项
    雷林鹏分享:现实生活中的 XML
    雷林鹏分享:XML 相关技术
    雷林鹏分享:XML
    Android 系统架构图
  • 原文地址:https://www.cnblogs.com/strengthen/p/10049868.html
Copyright © 2011-2022 走看看