Swift 7.OC单例

前端之家收集整理的这篇文章主要介绍了Swift 7.OC单例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

ViewController.m

  1. #import "ViewController.h"
  2.  
  3.  
  4. #import "单例-Swift.h"
  5.  
  6. //OCd调用 swift 需要导入桥接文件 命名空间-Swift.h 文件
  7. @interface ViewController ()
  8.  
  9. @end
  10.  
  11. @implementation ViewController
  12.  
  13. - (void)viewDidLoad {
  14. [super viewDidLoad];
  15. SoundTools *tools = [SoundTools tools];
  16. NSLog(@"%@",[SoundTools tools]);
  17. NSLog(@"%@",tools);
  18. }
  19.  

NetworkTools.h

  1. #import <Foundation/Foundation.h>
  2.  
  3. @interface NetworkTools : NSObject
  4.  
  5. //设置全局访问点
  6. + (instancetype) sharedTools;
  7. @end

NetworkTools.m

  1. #import "NetworkTools.h"
  2.  
  3. @implementation NetworkTools
  4.  
  5. + (instancetype)sharedTools {
  6. static NetworkTools *instance = nil;
  7. static dispatch_once_t onceToken;
  8. dispatch_once(&onceToken,^{
  9. instance = [[NetworkTools alloc] init];
  10. });
  11. return instance;
  12. }
  13. @end

SoundTools.swift
  1. import UIKit
  2.  
  3. class SoundTools: NSObject {
  4.  
  5. //let 不可变 同样是线程安全的
  6. var baseURL: String?
  7. static let tools: SoundTools = { () -> SoundTools in
  8. let instance = SoundTools()
  9. instance.baseURL = "www.douniwan.com"
  10. return instance
  11. }()
  12. }

猜你在找的Swift相关文章