zoukankan      html  css  js  c++  java
  • 设计模式IOS篇-第一章:单列模式

    现在先来看看例子:

    //Singleton.h
    @interface Singleton : NSObject
    
    + (Singleton*)sharedManager;
    @property (nonatomic ,strong) NSString* singletonData; 
    
    @end
    //Singleton.m
    #import "Singleton.h"
    @implementation Singleton
    
    @synthesize singletonData = _singletonData; 
    static Singleton *sharedManager = nil;
    
    + (Singleton*)sharedManager
    {
        static dispatch_once_t once;
        dispatch_once(&once, ^{
            sharedManager = [[self alloc] init];
        });
        return sharedManager;
    }
    
    @end

    在例子中,dispath_once_t是有GCD(Grand central Dispatch)提供,使在整个生命周期中,包含在内的代码块只执行一次,dispath_once会记录是否代码已经被执行过

    下面是可在Cocoa Touch中参考的一些单列模式的类:

    • UIApplication
    • UIAccelerometer
    • NSUserDefaults
    • NSNotificationCenter
  • 相关阅读:
    002.NFS相关配置项
    001.NFS简介
    002.DNS-BIND简介
    001.DNS原理及配置格式
    002.DHCP配置
    001.DHCP简介
    001.Chrony时间服务器
    博客开篇记载!
    【python-opencv】图像梯度
    【python-opencv】形态转换
  • 原文地址:https://www.cnblogs.com/oscar1987121/p/5234522.html
Copyright © 2011-2022 走看看