• 单例类的实现


    单例类:大概理解为只有一个对象的类,无论怎么创建都只有会分配一个内存

    这几天,需要实现某个功能,而且在很多的类里面都要调用这个方法,所以我索兴就封装了一个类,直接调用这个类里面的方法就可以实现了,不需要每次都去写同一个方法(这是大背景),之后在在调用的时候我又发现我需要每次都要用同一个对象(重点来了),所以我才需要封装一个单例的类,而且这样不会浪费内存。

    好了,直接上代码了:

    +(UIView*)initActivityIndictionView

    {

        static UIView *view = nil;

        static dispatch_once_t predicted;

        dispatch_once(&predicted ,^{

            view = [[self alloc]init];

            view.bounds = CGRectMake(0, 0, kScreenWidth, 100);

            view.center = CGPointMake(kScreenWidth/2, 50);

            

            UIActivityIndicatorView *testActivityIndicator = [[UIActivityIndicatorView    alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

            testActivityIndicator.center = CGPointMake(kScreenWidth/2 - 60, 50);

            testActivityIndicator.bounds = CGRectMake(0, 0, 50, 50);

            [testActivityIndicator startAnimating];

            UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(kScreenWidth/2 - 30, 25, 120, 50)];

            label.text = @"正在拼命加载中...";

            label.font = [UIFont systemFontOfSize:14];

            

            [view addSubview:testActivityIndicator];

            [view addSubview:label];

        });

        return view;

    }

     以上就是我自己封装的一个单例类,检验的话可以多创建几个对象,打印(%p)内存就可以了

  • 相关阅读:
    Equivalent Sets HDU
    Chemical table CFR500 div2D(并查集)
    How do I create an installation log?
    Error 1937.An error occurred during the installation of assembly...
    InstallShield 版本转换
    Convert CString to TCHAR
    InstallShield : 如何查找编译后的 Merge Module存放路径
    Msi.h causes compilation error in vs2010
    区间调度(贪心)
    硬币问题(贪心)
  • 原文地址:https://www.cnblogs.com/110-913-1025/p/5001501.html
Copyright © 2020-2023  润新知