swift 单例的实现方法及实例

swift 单例的实现方法及实例

定义Game类,代码如下:

public class Game {

  public var score = 0

  public static let dafaultGame = Game()

  private init(){

  }

  public func addscore(){

    score += 10
  }
}

1、将init方法设置成private

2、定义静态变量

3、赋值给静态变量调用init方法

调用

let game1 = Game.dafaultGame
game1.addscore()
game1.score

let game2 = Game.dafaultGame
game2.addscore()
game2.score

以上就是关于IOS 单例的简单实例详解,本站关于IOS 开发的文章还有很多,欢迎大家搜索参考,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • swift where与匹配模式的实例详解

    swift where与匹配模式的实例详解 前言: 在众多 Swift 提供给 Objective-C 程序员使用的新特性中,有个特性把自己伪装成一个无聊的老头,但是却在如何优雅的解决"鞭尸金字塔"的问题上有着巨大的潜力.很显然我所说的这个特性就是 switch 语句, 对于很多 Objective-C 程序员来说,除了用在 Duff's Device 上比较有趣之外,switch 语句非常笨拙,与多个 if 语句相比,它几乎没有任何优势. 1.基本使用 Swift中switch语句c

  • 详解Swift 利用Opration和OprationQueue来下载网络图片

    详解Swift 利用Opration和OprationQueue来下载网络图片 1. 基于Opration封装的获取网络数据组件 import Foundation import UIKit public typealias OpreationClosure = ((_ data:Data? , _ error: Error?) -> Void) class LJOpreationManager: Operation { /** * 下载用的url */ public var imageUrl

  • swift 3.0 正则表达式查找/替换字符的实现代码

    1.什么是正则表达式 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念. 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串. 在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 2.正则表达式的字符组成 普通字符[a~z].特殊字符(称为"元字符") 3.支持 几乎所有的程序设计语言都支持正则表达式,例如:OC,swift,java,c#,

  • 利用swift实现卡片横向滑动动画效果的方法示例

    本文主要给大家介绍了关于利用swift实现卡片横向滑动动画效果的相关资料,分享出来供大家参考学习,下面来一起看看详细的介绍吧. 根据惯例,首先上效果图: 那天去面试,面试官突然拿出手机点开了一个app,自个在那点了一会,然后问我 这个效果怎么实现,当时一看可以滑动,肯定用scrollView 或者 collectionView实现,就大概的说了下.今天刚好闲下来,就敲一敲这个效果. 先来分析下这个效果: 卡片是横向滚动,并且每个卡片的位置都是保持在屏幕中间的,而且 左右相邻的卡片都露出来一点边

  • Swift学习教程之访问控制详解

    前言 本文主要给大家介绍了关于Swift访问控制的相关内容,访问控制对访问你的其他代码源文件和模块部分进行了约束.这个特性允许你隐藏你的代码实现,并且指定通过其可以访问和使用该代码的优选接口. class,structure 和 enumeration 都可以指定访问级别,当然,property,method,initializer 和 属于这里类型的 subscript.protocol 可以限制到某个上下文,全局变量,变量和函数也可以. 另外,Swift 也提供默认的使用级别给典型的使用场景

  • swift 单例的实现方法及实例

    swift 单例的实现方法及实例 定义Game类,代码如下: public class Game { public var score = 0 public static let dafaultGame = Game() private init(){ } public func addscore(){ score += 10 } } 1.将init方法设置成private 2.定义静态变量 3.赋值给静态变量调用init方法 调用 let game1 = Game.dafaultGame ga

  • PHP创建单例后台进程的方法示例

    本文实例讲述了PHP创建单例后台进程的方法.分享给大家供大家参考,具体如下: 可以通过如下语句启动一个PHP后台进程: $command = " php script.php "; $pid = exec("nohup $command > /dev/null 2>&1 & echo $!"); nohup表示这个进程独立于创建的用户,可以以守护方式运行. 如果需要这个后台进程是单例运行的,那么可以通过下面的方法来记录/判断进程是否已运行

  • javascript 中模板方法单例的实现方法

    javascript 中模板方法单例的实现方法 模板方法单例 模板方法的定义:父类中定义一组操作算法骨架,将一些实现步骤延伸到子类中,使得子类可以不改变父类的算法结构的同时可重新定义算法中某些实现步骤. 代码块 html部分,例如: <div id="content"></div> js部分,例如: //格式化字符串方法 function fromateString(str, data) { return str.replace(/\{#(\w+)#\}/g,

  • Android OKHTTP的单例和再封装的实例

    Android OKHTTP的单例和再封装的实例 /** * Created by zm on 16-2-1 * okhttp的再封装,对于2.x版本,3.x版本将原有对okhttpclient配置 * 改成了builder模式配 * 置,对于超时.代理.dns,okhttp已经做好了配置, * 若不需要特殊配置,可以跳过 */ public class OkHttpUtil { private static OkHttpClient singleton; //非常有必要,要不此类还是可以被ne

  • spring中向一个单例bean中注入非单例bean的方法详解

    目录 前言 错误实例演示 实现ApplicationContextAware接口 lookup method lookup method签名 总结 前言 看到这个题目相信很多小伙伴都是懵懵的,平时我们的做法大都是下面的操作 @Component public class People{ @Autowired private Man man; } 这里如果Man是单例的,这种写法是没有问题的,但如果Man是原型的,这样是否会存在问题. 错误实例演示 这里有一个原型(生命周期为prototype)的

  • react 创建单例组件的方法

    需求背景 最近有个需求,需要在项目中添加一个消息通知弹窗,告知用户一些信息. 用户看过消息后,就不再弹窗了. 问题 很明显,这个需要后端的介入,提供相应的接口(这样可扩展性更好). 在开发过程中,遇到个问题:由于我们的系统是多页面的,所以每次切换页面,都会去请求后端的消息接口..有一定的性能损耗. 因为是多页面系统,使用单例组件貌似也没啥意义(不过是个机会学习学习单例组件是怎么写的). 于是,想到使用浏览器缓存来记录是否弹过窗了(当然,得设定过期时间). 如何写单例组件 1.工具函数: impo

  • Kotlin 单例实例详解

    Kotlin 单例实例详解 单例的实现方法,可以通过同伴对象,或者 lazy. 示例: class Hello private constructor() { companion object { val instance = Hello() } } 通过 lazy 实现 class Hello private constructor() { private object Holder { val INSTANCE = Hello() } companion object { val insta

  • 详解IOS 单例的两种方式

    详解IOS 单例的两种方式 方法一: #pragma mark - #pragma mark sharedSingleton methods //单例函数 static RtDataModel *sharedSingletonManager = nil; + (RtDataModel *)sharedManager { @synchronized(self) { if (sharedSingletonManager == nil) { sharedSingletonManager = [[sel

  • 为什么Java单例一定要加 volatile

    目录 1.volatile 作用 1.1 内存可见性问题 1.2 防止指令重排序 2.为什么要用 volatile? 总结 前言: 单例模式的实现方法有很多种,如饿汉模式.懒汉模式.静态内部类和枚举等,当面试官问到“为什么单例模式一定要加 volatile?”时,那么他指的是为什么懒汉模式中的私有变量要加 volatile? 懒汉模式指的是对象的创建是懒加载的方式,并不是在程序启动时就创建对象,而是第一次被真正使用时才创建对象. 要解释为什么要加 volatile?我们先来看懒汉模式的具体实现代

  • Swift中定义单例的方法实例

    什么是单例 单例模式是设计模式中最简单的一种,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象. 单例模式(Singleton Pattern),也叫单子模式,是一种常用的软件设计模式. 在应用这个模式时,单例对象的类必须保证只有一个实例存在. 单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了.这个设计模式主要目的是想在整个系统中只能出现一个类的实例.这样做当然

随机推荐