• iOs 单例模式的定义,实现、步骤


        单例模式就是一个类在系统中最多只有一个实例对象,并通过一个全局的入口对这个实例对象进行访问。

        对于共享的资源,实现多个对象去封装是不必要的,不光占用系统资源,还有可能造成冲突,所以一般使用单例模式。

    #import "DSSingletonObject.h"
    
    @implementation DSSingletonObject
    
    + (DSSingletonObject *)defaultObject {
        static DSSingletonObject *defaultObjectInstance = nil;
        
        if (!defaultObjectInstance)
            defaultObjectInstance = [[super allocWithZone:NULL] init];
        
        return defaultObjectInstance;
    }
    
    + (id)allocWithZone:(struct _NSZone *)zone {
        return [self defaultObject];
    }
    @end

      

    #import <Foundation/Foundation.h>
    
    @interface DSSingletonObject : NSObject
    
    // 写法一
    + (instancetype)defaultObject;
    
    // 写法二:线程安全,iOS4之后常用这种
    + (DSSingletonObject *)sharedObject;
    
    @end
    

      

    int main(int argc, const char * argv[])
    {
        DSSingletonObject *obj = [DSSingletonObject defaultObject];
        NSLog(@"%p", obj);
        
        DSSingletonObject *obj2 = [[DSSingletonObject alloc] init];
        NSLog(@"%p", obj2);
        
        DSSingletonObject *obj3 = [[DSSingletonObject alloc] init];
        NSLog(@"%p", obj3);
        
        
        
        return 0;
    }
    

      

  • 相关阅读:
    Redis详解
    Linux常用命令
    sqlserver 游标写法
    Flask总结
    HTTPS协议
    Django REST framework 简介
    Cookie和session
    利用rest-framework编写逻辑关系
    vuex
    jQuery和Bootstrap的优点
  • 原文地址:https://www.cnblogs.com/tang910103/p/5061436.html
Copyright © 2020-2023  润新知