在单列中创建数组应该注意些什么

单列里面添加 NSMutableArray 的时候,防止多个地方对它同时便利和修改的话,需要加原子属性。并且用strong,并且写一个遍历和修改的方法。加上锁。  Lock  UnLock

第一、基本概念

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问。

第二、在IOS中使用单例模式的情况

1.如果说创建一个对象会耗费很多系统资源,那么此时采用单例模式,因为只需要一个实例,会节省alloc的时间

2.在IOS开发中,如果很多模块都要使用同一个变量,此时如果把该变量放入单例类,则所有访问该变量的调用变得很容易,否则,只能通过一个模块传递给另外一个模块,这样增加了风险和复杂度

第三、创建单例模式的基本步骤

1.声明一个单例对象的静态实例,并初始化为nil

2.声明一个类的工厂方法,生成一个该类的实例,并且只会生成一个

3.覆盖allcoWithZone方法,确保用户在alloc 时,不会产生一个多余的对象

4.实现NSCopying协议,覆盖release,autorelease,retain,retainCount方法,以确保只有一个实例化对象

5.在多线程的环境中,注意使用@synchronized关键字

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,273评论 30 472
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 临近中午,嘎娘决定在做饭之前,再到菜市场看看那个卖炒鸡的人来了没有。 上次,误打误撞的买了一回那个人在市场当场做的...
    a宫雨阅读 261评论 0 2
  • 问:WORD里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同? 答:分节,每节可以设置不同的页眉。文件—...
    一叶_红枫阅读 2,220评论 1 7