Ios 在目标c中调用另一个类中的静态变量
我试图从类中获取一个静态变量,所以我这样做了 在文件Login.h中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;
+ (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
发明之前就已经存在了。