zoukankan      html  css  js  c++  java
  • 在ios中使用单例模式编程

    本文转载至 http://blog.csdn.net/remote_roamer/article/details/7107007

        1.    @implementation Singleton
        2.     
        3.    + (Singleton *)instance  {
        4.            static Singleton *instance;
        5.           
        6.            @synchronized(self) {
        7.                    if(!instance) {
        8.                            instance = [[Singleton alloc] init];
        9.                           
        10.                           
        11.                    }
        12.            }
        13.           
        14.            return instance;
        15.    }
        16.     
        17.    @end
      这个单例可以用[Singleton instance]得到.
      一次查阅下面的步骤:
    第四行:
        声明了静态变量,如果你有JAVA编程背景的话,这里或许会让你有点疑惑,在C(C++ 和 Objective-C)中,一个静态局部变量作用域存在于函数内,但是生命周期是整个程序,在下一次该函数调用时仍可使用。(和java中的类静态变量被该类各个实例变量共有的特点相似)。
        译者注:关于静态变量有疑问的同学请猛击这里:http://baike.baidu.com/view/675642.htm
    第六行:
        我们想使用线程保护,这样同时的两个[Singleton instance]调用不会产生两个独立的对象实例。即使在一个单线程程序中,这种Synchronization不会有大的执行时间开销,而且这为以后开发打下了好的基础。
    第七行:
        检查是否该类对象实例已经初始化。我们是否需要生成该类的实例。
    十四行:
        返回创建的/已存在的对象实例。
  • 相关阅读:
    题解 [APIO2014]连珠线
    题解 [ZJOI2019]语言
    题解 Hero meet devil
    题解 [BJOI2019]奥术神杖
    题解「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set
    题解 Sue的小球/名次排序问题/方块消除/奥运物流
    题解 「一本通 5.4 练习 1」涂抹果酱
    Mybatis的类型转换
    面试题:微服务熔断降级限流
    面试题:微服务网关
  • 原文地址:https://www.cnblogs.com/Camier-myNiuer/p/3825817.html
Copyright © 2011-2022 走看看