OC中较常用的一种设计:单例

作者: 没得到的是你没遇到呢 | 来源:发表于2016-04-06 19:27 被阅读77次

闲话不多叙!直接进入正题

单例设计模式运用较为普遍、广泛且较为简单的设计模式之一,他的设计原理是始终返回一个实例,即一个类始终只有一个实例

单例可以作为全局文件存在 保存一些全局数据;

直接写概念可能有点空泛,举个例子比如登陆APP使用的账号和密码一般就要用单例来保留:上程序!!!

首先建造一个User类在.h里声明

@property(nonatomic,copy)NSString *name;

@property(nonatomic, copy)NSString *mima;

然后再.m里创建一个静态变量(ps:静态变量只有在整个程序结束退出是才能被释放)

static User *user = nil;

首先我们在先写一个类方法为这个静态变量分配内存

+(id)sharper{                       

@synchronized(self) {

if (user == nil) {              /*这里我们用if判断变量是否为空只有当他

user = [[User alloc]init];   为空时才对他分配内存(这是.m里的实                   

}                                               现不要忘了在.h里声明

}

return user;

}

然后我们要保证这个变量在初始化时也不会被分配新的内存;我们可以重写alloc

+(instancetype)allocWithZone:(struct _NSZone *)zone{

if (user == nil ) {

user = [super allocWithZone:zone];

}

最后是保证他再被copy时也没有被改变

-(id)copyWithZone:(NSZone *)zone{

return user;

}

只是初学者有不对的!漏写望大家不吝赐教!

相关文章

  • OC中较常用的一种设计:单例

    闲话不多叙!直接进入正题 单例设计模式运用较为普遍、广泛且较为简单的设计模式之一,他的设计原理是始终返回一个实例,...

  • iOS-单例模式

    swift的单例设计模式 OC的单例设计模式 新学习一种单例思想

  • 单例模式

    3、单例模式(Singleton) 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象...

  • 单例模式

    JAVA设计模式之单例模式 十种常用的设计模式 概念: java中单例模式是一种常见的设计模式,单例模式的写法...

  • 设计模式-单例模式(Singleton)

    单例模式(Singleton) 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保...

  • 单例模式的书写

    ARC OC 中的单例 根据OC单例 改写成 Swift 中的单例 OC调用swift,需要#import "单例...

  • Java单例模式

    单例模式 一.单例模式介绍 单例模式是Java二十三种设计模式中的一种,也是一种比较常用的设计模式。其作用是保证该...

  • js设计模式-单例模式

    单例模式(Singleton Pattern)什么是单例模式 单例模式,是一种常用的软件设计模式。在它的核心结构中...

  • 单例模式介绍

    /** * 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中, ...

  • 单例模式

    什么是单例设计模式? 单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模...

网友评论

    本文标题: OC中较常用的一种设计:单例

    本文链接:https://www.haomeiwen.com/subject/hodmlttx.html