美文网首页
OC和Swift中的单例写法

OC和Swift中的单例写法

作者: QH_hao | 来源:发表于2019-12-11 14:10 被阅读0次

    单例:

    在整个项目中只有一个实例,并提供一个类方法供全局调用

    1.单例的优点

    单例可以保证系统中该类有且仅有一个实例,所以很便于外界访问.

    因为其上面的特点,对于项目中的个别场景的传值,存储状态等等更加方便

    2.单例的缺点

    单例实例一旦创建,对象指针是保存在静态区的,那么在堆区分配空间只有在应用程序终止后才会被释放

    单例不能继承

    在写项目的时候,我们实际用到了很多系统给我们提供的单例类;

    //[UIApplication sharedApplication];  //应用程序实例类

    //[NSNotificationCenter defaultCenter];//消息中心实例类

    //[NSFileManager defaultManager];//文件管理实例类

    //[NSUserDefaults standardUserDefaults];//应用程序设置

    //[NSURLCache sharedURLCache];//请求缓存实例类

    废话不多说,直接上代码:

    oc中:

    .h文件

    .m文件:

    或者:

    swift中:

    注意: 不管哪种写法都要注意将 init() 方法私有化。因为在 Swift 中,所有对象的构造器默认都是 public,需要重写 init 让其成为私有的,防止其他对象使用这个类的默认的'()'初始化方法来创建对象。

    相关文章

      网友评论

          本文标题:OC和Swift中的单例写法

          本文链接:https://www.haomeiwen.com/subject/gjmogctx.html