在目标c中调用另一个类中的静态var

时间:2014-11-04 11:12:25

标签: ios objective-c

我尝试从类中获取静态变量,所以我这样做 在文件Login.h

 + (instancetype)setToken:(NSString *)aToken;

在文件Login.m中我这样做

 static NSString* token;
     .......
     +(instancetype)setToken:(NSString *)aToken
     {
         token = [aToken copy];
         return aToken;
     }

所以我可以获得价值

[Login setToken:token]

但我不知道如何在另一个班级中获得这个价值

2 个答案:

答案 0 :(得分:1)

您还必须提供类getter方法:

+ (void)setToken:(NSString *)token;
+ (NSString *)token;

然而,使用单身人士是首选方法,允许您使用@property

答案 1 :(得分:0)

为此创建一个getter方法。此方法将返回static变量值。

将该方法的签名添加到Login.h文件。

+ (NSString *) getUniqueToken;

Login.m类中的相关方法。

+ (NSString *) getUniqueToken {
         return token;
}

因为它是一个类方法,你可以直接创建登录类的对象。

在其他控制器类中调用上面的方法,它将返回令牌字符串。

[Login getToken];