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
  • 相关阅读:
    rest_framework学习之路
    jQuery操作cookie
    Cookie和Session
    HTTP之Content-Type
    HTTP协议
    Python之random模块
    HTML5(FileRdeader)
    Python之re模块
    LINQ基础 之 LINQ TO SQL (二)
    LINQ基础(一)
  • 原文地址:https://www.cnblogs.com/shujucn/p/7481467.html
Copyright © 2011-2022 走看看