美文网首页
Swift 单例传值

Swift 单例传值

作者: 133sheiya | 来源:发表于2017-07-10 09:17 被阅读46次

回顾 Objc 创建单例的方式:

    @interface Kraken : NSObject
    @end

    @implementation Kraken

   + (instancetype)sharedInstance {
static Kraken *sharedInstance = nil;
static dispatch_once_t onceToken;
 
dispatch_once(&onceToken, ^{
    sharedInstance = [[Kraken alloc] init];
});
return sharedInstance;
  }

  @end

1.创建单例

  class TheOneAndOnlyKraken {
      // 单例传送的值
  var userName:String?
     //    定义类方法   +
  static let sharedInstance = TheOneAndOnlyKraken()

/// 设置 init 方法私有。防止调用init 方法 破坏类的单一性
  private init() {} //This prevents others from using the default '()' initializer for this class.
 }

2.给单例的属性赋值

   let the = TheOneAndOnlyKraken.sharedInstance

   the.userName = "xxx"

3.输出单例的属性值

     let the = TheOneAndOnlyKraken.sharedInstance
     print(the.userName ?? "default value")
    单例是全局唯一的。只初始化一次。且必须保证线程安全。所以单例类的初始化方法必须是私有的。这样就可以避免其他对象通过单例类创建额外的实例

相关文章

  • Swift的四种传值方法

    Swift中常用的四种传值方法:单例,单例,闭包(相当于OC的block传值),通知 1单例: 1>.创建单例变量...

  • Swift 单例传值

    回顾 Objc 创建单例的方式: 1.创建单例 2.给单例的属性赋值 3.输出单例的属性值

  • Swift-传值坑

    Swift中block、代理、通知、单例传值 block传值 定义一个闭包实现block主要分三步: 定义一个闭包...

  • Swift5-swift的四种传值方式

    Swift 的四种传值方式: 1.单例 2.代理 3.闭包(oc的block) 4.通知 一、单例 1.创建 2....

  • OC中反向传值的方法

    oc中反向传值四种方法 block反向传值 在需要传值的界面: 在接受到传值的界面 单例反向传值 创建一个单例类 ...

  • iOS-传值方式

    传值方式:1、属性传值 方法传值2、代理传值3、单例传值 4、通知传值 NSNotificationCente...

  • iOS 传值

    页面传值 NSNotification Delegate Block 单例 一、 页面传值 最简单直接的传值方法 ...

  • iOS最常用的8中传值方式,代理顺传如何实现?

    一、顺传: 1 初始化传值 2 属性传值 二、顺传逆传都行: 3 单例传值 4 代理传值 ...

  • iOS的五种传值

    前言 iOS常见的五种传值分别为属性传值,通知传值,代理传值,block传值,单例传值 属性传值 用于正向传值,简...

  • iOS 常用传值方式

    总结 iOS 日常开发中的几种常用传值方式:正向传值代理传值block传值通知传值单例 文章代码:https://...

网友评论

      本文标题:Swift 单例传值

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