zoukankan      html  css  js  c++  java
  • 【Object-C】单例模式Singleton

    程序多次创建类的对象没有多大意义,还有可能造成系统性能下降。
    如果一个类始终只能创建一个实例,这个类称为单例类.
    单例类可以通过static全局变量来实现.
    #import <Foundation/Foundation.h>
    @interface DCSingle : NSObject
    +(id) instance ;
    @end

    #import "DCSingle.h"
    static id instance = nil ;
    @implementation DCSingle
    +(id) instance
    {
       
     if (!instance) {
    // 创建一个Singleton实例,并将该实例赋给instance全局变量
           
     instance = [[super alloc]init];
        }
       
     return instance ;
    }
    @end

    #import <Foundation/Foundation.h>
    #import "DCSingle.h"
    int main(int argc, const char * argv[]) {
       
     @autoreleasepool {
           
     // insert code here...
           
     NSLog(@"Hello, World!");
           
           
     // 判断两次获取的实例是否相等,程序将会返回1(代表真)
           
     NSLog(@"%d" ,[DCSingle instance] == [DCSingle instance]);
        }
       
     return 0;
    }

    ==>
    2014-11-29 11:54:02.124 Singleton[626:303] Hello, World!
    2014-11-29 11:54:02.127 Singleton[626:303] 1
    Program ended with exit code: 0
  • 相关阅读:
    P1064 金明的预算方案
    P1062 数列
    P2258 子矩阵
    P1095 守望者的逃离
    P1201 [USACO1.1]贪婪的送礼者Greedy Gift Givers
    P1203 [USACO1.1]坏掉的项链Broken Necklace
    P1478 陶陶摘苹果(升级版)
    P2485 [SDOI2011]计算器
    逆元模板
    CloudStack 物理网络架构
  • 原文地址:https://www.cnblogs.com/shujucn/p/7481467.html
Copyright © 2011-2022 走看看