iOS 单例模式

来源:互联网 发布:欧母龙plc编程软件 编辑:程序博客网 时间:2024/06/15 05:44

(一)单例模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

(二)单例模式的要点:

     1、某个类只能有一个实例;

     2、必须自行创建这个实例;

     3、必须自行向整个系统提供这个实例。

(三)单例模式的优点:

  1、实例控制:确保所有对象都访问唯一实例。
  2、灵活性:因为类控制了实例化过程,所以类可以更加灵活修改实例化过程

(四)代码:
////  AYinstance.h//  单例模式demo////  Created by 艾阳 on 15/10/28.//  Copyright © 2015年 艾阳. All rights reserved.//#import <Foundation/Foundation.h>@interface AYinstance : NSObject+ (instancetype)sharedDataTool;@end

////  AYinstance.m//  单例模式demo////  Created by 艾阳 on 15/10/28.//  Copyright © 2015年 艾阳. All rights reserved.//#import "AYinstance.h"#import "AFNetworking.h"@implementation AYinstance// 用来保存唯一的单例对象static id _instace;+ (id)allocWithZone:(struct _NSZone *)zone{    static dispatch_once_t onceToken;    dispatch_once(&onceToken, ^{        _instace = [super allocWithZone:zone];    });    return _instace;}+ (instancetype)sharedDataTool{    static dispatch_once_t onceToken;    dispatch_once(&onceToken, ^{        _instace = [[self alloc] init];    });    return _instace;}- (id)copyWithZone:(NSZone *)zone{    return _instace;}@end

总结:加上以上代码的类就变成了单例模式的类,这个类只有一个实例,里边的变量、函数在整个项目都只有一套,整个程序都能访问这个类并进行赋值和调用。


如有错误,请批评指教,谢谢!
1 0
原创粉丝点击