IOS传值之单例传值

在IOS应用中,不同view及应用中经常会有传值和变量共享,有几种方式可以实现:

1.extern方式

2.单例模式

3.delegate方式


 单例模式顾名思义就是只有一个实例,它确保一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。它经常用来做应用程序级别的共享资源控制。这个模式使用频率非常高,通过一个单例类,可以实现不同view之间的参数传递


#import <Foundation/Foundation.h>

@interface Session : NSObject
@property (strong,nonatomic) NSString *singleValue;
//实现单例方法
+ (Session *) GetInstance;
@end


#import "Session.h"

@implementation Session
// 单例对象
static Session *instance;

// 单例
+ (Session *) GetInstance {
    @synchronized(self) {
        if (instance == nil) {
            instance = [[self alloc] init];
            
        }
    }
    return instance;
}
-(id) init
{
    if (self = [super init]) {
        self.singleValue = [[NSString alloc] init];
    }
    return self;
}

@end


然后在需要使用单例的类import 这个单例类

Session *session = [Session GetInstance];

session.singleValue = @"好神奇阿!";

NSString *value = session.singleValue;


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。