Ios 在目标c中调用另一个类中的静态变量

Ios 在目标c中调用另一个类中的静态变量,ios,objective-c,Ios,Objective C,我试图从类中获取一个静态变量,所以我这样做了 在文件Login.h中 + (instancetype)setToken:(NSString *)aToken; 在文件Login.m中,我这样做 static NSString* token; ....... +(instancetype)setToken:(NSString *)aToken { token = [aToken copy]; return aToken;

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

 + (instancetype)setToken:(NSString *)aToken;
在文件Login.m中,我这样做

 static NSString* token;
     .......
     +(instancetype)setToken:(NSString *)aToken
     {
         token = [aToken copy];
         return aToken;
     }
所以我可以得到价值

[Login setToken:token]

但是我不知道如何在另一个类中获得这个值,为此创建一个getter方法。此方法将返回
静态
变量值

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

+ (NSString *) getUniqueToken;
Login.m
类中的相关方法

+ (NSString *) getUniqueToken {
         return token;
}
因为它是一种类方法,所以您可以直接访问,而无需创建登录类的对象

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

[Login getToken];

您还必须提供一个类getter方法:

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

但是,使用单例是实现这一点的首选方法,允许您使用
@属性

令牌
,而不是
getToken
是getter方法的普遍接受形式。同意!但它必须是@property才行吗?不,setter和getter在
@property
发明之前就已经存在了。