gpt4 book ai didi

android - 在 quickblox 应用程序中引用当前用户

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:40:17 24 4
gpt4 key购买 nike

这可能是一个非常简单的问题,但我很好奇是否有最佳解决方案。我想知道 quickblox 是否缓存了当前用户。如果您熟悉 Parse,我正在寻找一个 [PFUser CurrentUser] 类型的方法。

如果这不存在,那么一旦用户登录到应用程序,从任何 viewController 引用当前用户的最佳方式是什么。 (启动时需要登录)。我想只存储该用户的 Id 以供以后使用(NSUserDefaults 或类似的东西)。

此外,quickblocks login 在应用程序启动之间是否保持不变?

欢迎任何想法和意见。谢谢

最佳答案

没有CurrentUser属性,

我建议使用下一个机制:

1) 创建单例

LocalStorageController.h

@interface LocalStorageController : NSObject

+ (instancetype)shared;

@property (nonatomic, strong) QBUUser *qbUser;

@end

LocalStorageController.m

#import "LocalStorageController.h"

@implementation LocalStorageController

@synthesize qbUser = _qbUser;

+ (instancetype)shared
{
static LocalStorageController *instance = nil;
static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{
instance = [[LocalStorageController alloc] init];
});

return instance;
}

@end

2) 登录后保存QB用户LoginViewController.m

@implementation LoginViewController

- (void)login
{
[QBUsers logInWithUserLogin:@"qbUser1" password:@"qbUser1" delegate:self];
}

- (void)completedWithResult:(Result *)result{
if([result isKindOfClass:QBUUserResult.class] && result.success){
QBUUserResult *res = (QBUUserResult *)result;

// save user
[LocalStorageController shared].qbUser = res.user;
}
}

3) 在用户的任何地方使用

ViewController1.m

 - (void)doSomething{
QBUUser *currentUser = [LocalStorageController shared].qbUser;
}

ViewController2.m

 - (void)doSomething{
QBUUser *currentUser = [LocalStorageController shared].qbUser;
}

关于android - 在 quickblox 应用程序中引用当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19019113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com