zoukankan      html  css  js  c++  java
  • 单例模式(oc)

    //主函数 main.m
    #import <Foundation/Foundation.h>
    #import "Singleton.h"
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
        
            Singleton *sing1=
            [Singleton shareInstance];
            Singleton *sing2=[Singleton shareInstance];
           
            Singleton *sing3=[Singleton new];
            Singleton *sing4=[[Singleton alloc]init];
            Singleton *sing5=[sing4 copy];
           
            NSLog(@"%@",sing1);
            NSLog(@"%@",sing2);
            NSLog(@"%@",sing3);
            NSLog(@"%@",sing4);
            NSLog(@"%@",sing5);
           
        }
        return 0;
    }
    
    //Singleton.h文件
    #import <Foundation/Foundation.h>
    
    @interface Singleton : NSObject<NSCopying>
    +(Singleton *)shareInstance;
    @end
    
    
    //Singleton.m文件
    #import "Singleton.h"
    
    @implementation Singleton
    static Singleton *singleton;
    //单例方法
    +(Singleton *)shareInstance{
        if (singleton==nil) {
            singleton=[[Singleton alloc]init];
        }
        return singleton;
    
    }
    //单例方法  初始化
    +(instancetype)allocWithZone:(struct _NSZone *)zone{
    //懒加载
    if (singleton==nil) { singleton=[super allocWithZone:zone]; } return singleton; } //单例方法 复制 -(id)copyWithZone:(NSZone *)zone{ return self; } @end
  • 相关阅读:
    MVC 路由规则
    MVC系统过滤器、自定义过滤器
    MVC部署
    MVC 读书笔记
    C# 调用 Web Service
    RESTful 架构
    WebSocket C# Demo
    C# 编写服务 Windows service
    C# 调用FFmpeg 根据图片合成视频
    Socket 编程示例(二)
  • 原文地址:https://www.cnblogs.com/qianLL/p/5243828.html
Copyright © 2011-2022 走看看