2016-01-10 29 views
0

我有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"]; 
+0

好吧,不是你的单身人士是零,而是你的财产,这与单身人士的事实无关。 *你在哪里分配任何东西给'access_token'? – luk2302

+0

你有没有调试过?你学到了什么额外的信息? – Wain

+0

你是如何设置access_token的?你可以在你设置该值的地方添加代码吗? –

回答

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的access_token sharedManager]到变量accessToken。但在第二行中,您只需更改变量的值而不是OauthObject实例中的属性。

相关问题