NSString iOS中的二传手 [英] Setter in NSString iOS

查看:86
本文介绍了NSString iOS中的二传手的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我是ios开发人员的新手,我正在尝试为委托类中的nsstring设置一个值,并从其他类中访问该值,我得到的值为null.我不知道我在做什么错误?

hi i am new to ios dev ,I am trying to set a value for nsstring from delegate class and access from other class ,the value i get is null.i dont know what mistake i am doing?

//token class header file
@interface TokenClass : NSObject
{
    NSString *tokenValue;
}
@property (nonatomic,strong) NSString *tokenValue;

//token class main file
@implementation TokenClass
@synthesize tokenValue;
@end

//App Delegate
TokenClass *token = [[TokenClass alloc]init];
[token setTokenValue:@"as"];

当我在其他一些类中访问tokenvalue时,我得到空值. 有人可以指出我在做什么错误吗?我正确使用@属性吗?

when i access tokenvalue in some other classs i get null value. can any one point me what mistake i am doing?Am i using @ property correctly?

推荐答案

您需要使用Singleton类将变量或对象公开给整个项目或创建全局变量.创建TokenClass类的sharedInstance并创建可以在任何地方访问的属性

You need to use Singleton class to expose variables or objects to the entire project or create global variables. Create sharedInstance of TokenClass class and create property which can be accessed anywhere

在您的.h文件中

//token class header file
@interface TokenClass : NSObject

@property (nonatomic,strong) NSString *tokenValue;

//create static method 
+ (id)sharedInstance;

.m文件中

#import "TokenClass.h"

@implementation TokenClass


#pragma mark Singleton Methods

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

- (id)init {
  if (self = [super init]) {
      tokenValue = [[NSString alloc] init];
  }
  return self;
}

@end

现在在您的appDelegate中

now in your appDelegate

#import TokenClass.h

@implementation AppDelegate

in `didFinishLaunchingWithOptions:`

 [TokenClass sharedInstance] setTokenValue:@"as"];

在任何课程中,您都可以使用

in any class you can get value using

NSLog(@"tokenValue = %@", [[SingletonClass sharedInstance] tokenValue]);

这篇关于NSString iOS中的二传手的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆