目标c非常新。我的界面和实现如下所示:
// MyAuth.h
// @interface
+ (instancetype)sharedToken;
// MyAuth.m
//@implementation
+ (instancetype)sharedToken {
static MyAuth *_sharedToken = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedToken = [[NSUserDefaults standardUserDefaults] valueForKey:@"token"];
});
return _sharedToken;
}
现在我正试图获得sharedToken
的长度,但我被困在这里。我尝试了什么
[MyAuth sharedToken].length // doesn't work
如何获得`sharedToken
的长度答案 0 :(得分:1)
您希望通过此方法可以在应用中的任何位置访问从NSUserDefaults
拉出的字符串。
方法的返回类型必须是您实际返回的对象的类型:
+ (NSString *)sharedToken;
instancetype
表示该方法返回运行该方法的类的实例。
用于字符串的指针也应该具有正确的类型:
static NSString *_sharedToken = nil;
现在,编译器将允许您将length
发送到方法调用的结果。