加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift 单例模式实现及类方法

发布时间:2020-12-14 01:52:29 所属栏目:百科 来源:网络整理
导读:在开始单例模式之前我们先讲一下类方法。应为单例模式需要依靠类方法来实现 首先,我们知道类方法就是 直接使用类名来调用,无需生成对象,再去调用。 其实类方法的生成很简单,只需要给我们之前的对象方法用class关键字来修饰即可 我们来看一个示例 对象方

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

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

其实类方法的生成很简单,只需要给我们之前的对象方法用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 欢迎加入 欢迎讨论问题

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读