不同平台单例模式实现方式
来源:互联网 发布:搞笑段子 知乎 编辑:程序博客网 时间:2024/05/02 13:09
单例模式是一种很基本很常用的设计模式,游戏开发中用的非常多。继承下面的类即可将一个类变成单例类:
一. IOS中的单例模式
IOS中实现单例可以定义static变量实现,但更好的方法是使用线程保证类的实例化语句只执行一次即可:
//// SingletonClass.h// JXHDemo//// Created by Xinhou Jiang on 16/7/31.// Copyright © 2016年 Jiangxh. All rights reserved.//#import <Foundation/Foundation.h>@interface SingletonClass : NSObject/** * class单例 */+ (SingletonClass *)Ins;@end
//// SingletonClass.m// JXHDemo//// Created by Xinhou Jiang on 16/7/31.// Copyright © 2016年 Jiangxh. All rights reserved.//#import "SingletonClass.h"@implementation SingletonClass/** * class单例 */+ (SingletonClass *)Ins { static dispatch_once_t once; static id sharedInstance; dispatch_once(&once, ^{ // 只实例化一次 sharedInstance = [[self alloc] init]; }); return sharedInstance;}@end单例类使用示例:
// 可在整个工程中调用如下代码:[SingletonClass Ins].name = @"sharedInstnce";NSString *name = [SingletonClass Ins].name;
二.Unity中的单例模式
unity中继承下面类的C#脚本可变成单例脚本:
using UnityEngine;/* * 泛型单例类,只允许有一个实例 */public class Singleton<T> : MonoBehaviour where T : Singleton<T>{ //静态单一实例 protected static T _instance; //获取实例的接口 public static T Ins { get { return _instance; } } //初始化单例 protected virtual void Awake() { _instance = (T)this; } //销毁实例 protected virtual void OnDestroy() { _instance = null; }}
1 0
- 不同平台单例模式实现方式
- 单例模式实现方式
- 最佳单例模式实现方式-单枚举类实现
- 单例模式的多种实现方式
- 单例模式 及其实现方式
- 单例模式两种实现方式
- C++单例模式实现方式
- 四中方式实现单例模式
- 单例模式的多种实现方式
- 单例模式几种实现方式
- 单例模式5种实现方式
- 单例模式的实现方式
- java单例模式的实现方式
- 单例设计模式实现方式
- 单例模式--各种实现方式详解
- Python单例模式的实现方式
- 10001:Chromium单例模式实现方式
- java单例模式的实现方式
- Spring MVC系列(四)之session处理---@SessionAttributes
- Fibonacci(斐波那契)序列的递归和非递归
- View控件--ViewStub
- C3P0数据库连接池的API网站
- Oracle 树操作(select…start with…connect by…prior)
- 不同平台单例模式实现方式
- HDOJ 1076 An Easy Task(闰年计算)
- Java中overload和override的区别
- FreeMarker应用一例——生成Java代码
- 关于网络通讯中的相关概念
- 【手游】童话大冒险 美术资源加密分析
- org.springframework.dao.DuplicateKeyException:
- 【MySQL】常见错误与常用命令的集锦
- 博客园开业,欢迎光临寒舍