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
  • 相关阅读:
    9.4
    9.3
    9.2
    2016.9.1
    html,body
    prototype
    京东笔试题的一些小细节
    gulp安装过程中的问题。
    json
    双飞翼布局和圣杯布局
  • 原文地址:https://www.cnblogs.com/oscar1987121/p/5234522.html
Copyright © 2011-2022 走看看