在开始单例模式之前我们先讲一下类方法。应为单例模式需要依靠类方法来实现
首先,我们知道类方法就是 直接使用类名来调用,无需生成对象,再去调用。
其实类方法的生成很简单,只需要给我们之前的对象方法用class关键字来修饰即可
我们来看一个示例
对象方法
func userName()->String{ return "zhangsan" }
类方法
class func userName()->String{ return "zhangsan" }
接下来我们开始单例模式
首先 单例模式一般用于数据共享,在使用的时候无需创建多个对象,节省资源。比如我们属性的 NSUserdefault 就是一个单例
接下来我们实现一个类,用来共享数据。起名MyTool
实现如下
class MyTool{ var currentNum:Int=1 struct ToolP { static var myTool:MyTool?=nil } class func shareMyTool()->MyTool { if(ToolP.myTool == nil){ ToolP.myTool=MyTool() } return ToolP.myTool! } }
使用如下
var myTool=MyTool.shareMyTool() myTool.currentNum=10 var myTool1=MyTool.shareMyTool() println(myTool1.currentNum)
我们首先创建一个对象myTool 将类中变量 currentNum修改为10
然后我们来在创建对象(其实还是上次创建的对象) 将currentNum打印出来,发现他就是刚才修改的10
好了 就简单一点,大家可以自己继续发挥,有问题可以加群讨论
苹果开发群 :414319235 欢迎加入 欢迎讨论问题
原文链接:https://www.f2er.com/swift/326144.html