swift 单例模式

在开始单例模式之前我们先讲一下类方法。应为单例模式需要依靠类方法来实现

首先,我们知道类方法就是 直接使用类名来调用,无需生成对象,再去调用。

其实类方法的生成很简单,只需要给我们之前的对象方法用class关键字来修饰即可

我们来看一个示例

对象方法

[objc]  view plain copy
  1. func userName()->String{  
  2.     return "zhangsan"  
  3. }  

类方法


[objc]  view plain copy
  1. class func userName()->String{  
  2.     return "zhangsan"  
  3. }  


接下来我们开始单例模式

首先 单例模式一般用于数据共享,在使用的时候无需创建多个对象,节省资源。比如我们属性的 NSUserdefault 就是一个单例

接下来我们实现一个类,用来共享数据。起名MyTool

实现如下


[objc]  view plain copy
  1. class MyTool{  
  2.     var currentNum:Int=1  
  3.     struct ToolP {  
  4.         static var myTool:MyTool?=nil  
  5.     }  
  6.     class func shareMyTool()->MyTool {  
  7.         if(ToolP.myTool == nil){  
  8.             ToolP.myTool=MyTool()  
  9.         }  
  10.         return ToolP.myTool!  
  11.     }  
  12.       
  13. }  

使用如下

[objc]  view plain copy
  1. var myTool=MyTool.shareMyTool()  
  2. myTool.currentNum=10  
  3. var myTool1=MyTool.shareMyTool()  
  4. println(myTool1.currentNum)  


我们首先创建一个对象myTool 将类中变量 currentNum修改为10

然后我们来在创建对象(其实还是上次创建的对象) 将currentNum打印出来,发现他就是刚才修改的10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值