为什么我从单身对象得到零?

时间:2016-01-10 14:54:50

标签: ios objective-c

我有一个单独的OauthObject(文件.m):

+ (OauthObject*) sharedManager{

    static OauthObject* manager = nil;

    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        manager = [[OauthObject alloc] init];
    });

    return manager;
}
@end

property文件中有.h

@property (strong, nonatomic) NSString *access_token;

在本课程中,我将变量access_token设置为@"1234567"

在另一个文件TableViewControler.m我导入了OauthObject

#import "OauthObject.h"

在方法的下方,我尝试获取值access_token,如:

[[OauthObject sharedManager] access_token]; // It should be 1234567

但我得到nil

我将access_tokes设置为:

NSString *accessToken = [[OauthObject sharedManager] access_token];
accessToken = [responseObject objectForKey:@"access_token"];

1 个答案:

答案 0 :(得分:1)

您应该像这样设置access_token

[OauthObject sharedManager].access_token = [responseObject objectForKey:@"access_token"]

[[OauthObject sharedManager] setAccess_token:[responseObject objectForKey:@"access_token"]]

在你的问题中,你试过这样:

NSString *accessToken = [[OauthObject sharedManager] access_token];
accessToken = [responseObject objectForKey:@"access_token"];

在第一行中,您将[OauthObject sharedManager]的access_token分配给变量accessToken。但是在第二行中,您只需更改变量的值而不是OauthObject实例中的属性。