zoukankan      html  css  js  c++  java
  • 单例实现方式以及类方法和实例方法

    在我们开发过程中,如果一个对象可以全局进行使用,ta的方法就可以重复使用了,那么我们想当然的想到单例,我们可以使用单例,进行全局使用,这样我们无需在每个页面都要实例这个对象,这样,节省内存空间。

    那么单例的实现方式有两种:普通和多线程的思想。下面以网络请求为例进行说明。

    方法一:使用普通思想

    +(id)shareInstance

    {

    static GEhttprequest *request = nil;

    if(!request)

    {

    request = [[GEhttprequest alloc] init];

    }

    return request;

    }

    方法二:使用多线程思想

    +(id)shareInstance


    {

    static dispatch_once_t onceToken;

    static GEhttprequest *request = nil;

    dispatch_once(&onceToken,^{

    request = [[GEhttprequest alloc] init];

    });

    return request;

    }

    注:在定义单例的时候,定义单例为类方法,这和我们平时的方法不同,以前我们采用实例方法,对象才能调用这些方法,但是类方法,我们不需要进行对象的实例,就可以调用,这个很重要。比如:

    我们定义一个可变数组: NSMutableArray *ary;

    然后我们可以调用类方法来实例ary : ary = [NSMutableArray array]; array就是一个类方法。ary = [[NSMutableArray alloc] initwitharray:ary1];alloc这个也是类方法。

     
     
  • 相关阅读:
    Beta 阶段计划
    alpha阶段总结
    冲刺第十天 12.6 THU
    冲刺第九天 12.5 WED
    冲刺第八天 12.4 TUE
    冲刺第七天 12.3 MON
    冲刺第六天 11.30 FRI
    正弦交流电有效值系数sqrt(2)的推导
    关于STM32官方FOC库函数扇区分析中’131072’系数的解释
    闭环系统零、极点位置对时间响应性能指标的影响
  • 原文地址:https://www.cnblogs.com/gepf/p/4650348.html
Copyright © 2011-2022 走看看