initialize实在一个类第一次发消息前调用,就是说,第一次调用init, 私用方法, 类方法调用之前会调用它,也只调用一次。

.h文件

+ (instancetype)sharedInstance;

.m文件

static DataManager *dataManager;

+ (instancetype)sharedInstance{

return dataManager;

}

+ (void)initialize{

if (!dataManager) {

dataManager = [[DataManager alloc]init];

}

}

还有一种宏定义写法

//

//  Singelton.h

//  NoWait

//

//  Created by liu nian on 15/3/30.

//  Copyright (c) 2015年 Shanghai Puscene Information Technology Co.,Ltd. All rights reserved.

//

#ifndef NoWait_Singelton_h

#define NoWait_Singelton_h

//http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/nsobject_Class/Reference/Reference.html#//apple_ref/occ/clm/NSObject/initialize

#define SingletonInterface(Class) \

+ (Class *)sharedInstance;

#define SingletonImplementation(Class) \

static Class *__ ## sharedSingleton; \

\

\

+ (void)initialize \

{ \

static BOOL initialized = NO; \

if(!initialized) \

{ \

initialized = YES; \

__ ## sharedSingleton = [[Class alloc] init]; \

} \

} \

\

\

+ (Class *)sharedInstance \

{ \

return __ ## sharedSingleton; \

} \

\

#endif

重写美味不用等(1) 单例 --initialize方法调用相关推荐

  1. java 内部类 单例_确保对象的唯一性——单例模式 (四):一种更好的单例实现方法(静态内部类)...

    3.5 一种更好的单例实现方法 饿汉式单例类不能实现延迟加载,不管将来用不用始终占据内存:懒汉式单例类线程安全控制烦琐,而且性能受影响.可见,无论是饿汉式单例还是懒汉式单例都存在这样那样的问题,有没有 ...

  2. Typescript实现单例之父类调用子类

    Typescript实现单例之父类调用子类 设计要求 在程序中,需要一个对象可以全局使用,并且只有一个实例 Breakpoint 类是一个可以被继承的类,然后子类必须实现 updateView函数 u ...

  3. java 单例加锁方法的讨论

    //2014.8.26  review 一个经典 DCL 问题 public class Singleton { private static Singleton instance=null; pub ...

  4. 【怎样写代码】确保对象的唯一性 -- 单例模式(五):一种更好的单例实现方法(静态内部类)

    如果喜欢这里的内容,你能够给我最大的帮助就是转发,告诉你的朋友,鼓励他们一起来学习. If you like the content here, you can give me the greates ...

  5. 用枚举enum实现单例

    [README] 1,effectivejava 讲到使用 枚举类实现单例的例子,非常好用: 2,好处如下: 不用定义私有构造器: 不用定义获取单例的方法,如 getInstance() :通过 枚举 ...

  6. socket可以写成单例嘛_精读《设计模式 - Singleton 单例模式》

    Singleton(单例模式) Singleton(单例模式)属于创建型模式,提供一种对象获取方式,保证在一定范围内是唯一的. 意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 其实单例模 ...

  7. 在Python中创建单例

    这个问题不是为了讨论是否需要单例设计模式 ,是否是反模式,还是针对任何宗教战争,而是要讨论如何以最pythonic的方式在Python中最好地实现此模式. 在这种情况下,我定义"最pytho ...

  8. C++设计模式--单例模式(Singleton)及单例通用模板

    概述 C++中的单例模式应该是设计模式中最简单的了,在编码中常见到.那么,简单的总结下 C++中的单例模式写法,以及根据单例模式扩展后的一些写法,最后还有单例的通用模板,可用于快捷创建一个单例类. 单 ...

  9. 单例设计模式-反射攻击解决方案及原理分析

    package com.learn.design.pattern.creational.singleton;import java.io.Serializable;public class Hungr ...

最新文章

  1. 推荐10款优秀的JavaScript Web UI库 框架和套件
  2. 将表数据生成Insert脚本
  3. 实践剖析.NET Core如何支持Cookie滑动过期和JWT混合认证、授权
  4. androidstudio新建项目中在布局文件中不显示title的方法
  5. 【51NOD - 1523】 非回文(dfs)
  6. 反射的妙用-类名方法名做参数进行方法调用实例demo
  7. Windows下命令模式安装mysql
  8. Win10家庭版开启远程桌面
  9. 【笔记分享】LED点阵屏幕显示原理
  10. opencv之调取摄像头拍照
  11. 企业对计算机类专业人才培养方案,应用型本科计算机科学与技术专业人才培养方案探讨...
  12. 计算机英语词汇 沪江,常用计算机英语词汇学习
  13. [寒江孤叶丶的CrossApp之旅_07][入门系列]CrossApp中信息框CAAlertView的使用
  14. 基于C++实现的一种通用Base编解码器(Hex(Base16)/Base32/Base64)
  15. 2021秋招----hr面试总结
  16. qq企业邮箱怎么删除邮件服务器,腾讯企业邮箱删除邮件方法
  17. 腾讯华为签署《深圳市APP个人信息保护自律承诺书》举措新解读
  18. 如何在Windows版iTunes中播放Ogg音乐文件
  19. 海康摄像头实现点位缩放功能(切换焦距)
  20. LTE IPV6地址配置

热门文章

  1. 金华计算机学校取分,2021年金华高中学校排名及录取分数线排名
  2. 在视频背景前加字html,如何在一个视频前加封面(片头) 以及配音乐, 视频如何同时加片头和背景音乐...
  3. vue打印自定义部分为图片
  4. Unity 内的敌人AI 或者 有限状态机FSM实现AI
  5. Hyperchain 超块链创始人史兴国对谈李国权:为什么新加坡能在全球“Web3桥头堡抢夺战”中突出重围?
  6. 菜鸟学习C语言——指针
  7. Activiti的引擎与引擎配置对象
  8. UE4 脚部IK实现
  9. PostgreSQL 大象 -- Slonik 的历史
  10. MLP入门:多层人工神经网络模型及算法公式推导(正向传播与逆向传播过程详解)