• 设计模式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
  • 相关阅读:
    ios外包公司——技术分享:IOS开发教程
    ios外派—本公司长年提供ios程序员外派业务(北京动点软件,可签合同)
    mysql
    mysql
    mysql
    mysql
    mysql
    一些学习网站
    java 之 枚举(Enum)
    .net core
  • 原文地址:https://www.cnblogs.com/oscar1987121/p/5234522.html
Copyright © 2020-2023  润新知