菜鸟教程小白 发表于 2022-12-12 14:52:28

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


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

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

<p>此外,quickblocks 登录是否在应用启动之间持续存在?</p>

<p>欢迎任何想法和意见。谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>没有 <strong>CurrentUser</strong> 属性,</p>

<p>我建议使用下一个机制:</p>

<p>1) 创建单例</p>

<p><strong>LocalStorageController.h</strong></p>

<pre><code>@interface LocalStorageController : NSObject

+ (instancetype)shared;

@property (nonatomic, strong) QBUUser *qbUser;

@end
</code></pre>

<p><strong>LocalStorageController.m</strong></p>

<pre><code>#import &#34;LocalStorageController.h&#34;

@implementation LocalStorageController

@synthesize qbUser = _qbUser;

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

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

    return instance;
}

@end
</code></pre>

<p>2) 登录后保存QB用户
<strong>LoginViewController.m</strong></p>

<pre><code>@implementation LoginViewController

- (void)login
{
    ;
}

- (void)completedWithResult:(Result *)result{
    if( &amp;&amp; result.success){
      QBUUserResult *res = (QBUUserResult *)result;

      // save user
      .qbUser = res.user;
    }
}
</code></pre>

<p>3) 在您的用户的任何地方使用</p>

<p><strong>ViewController1.m</strong></p>

<pre><code> - (void)doSomething{
    QBUUser *currentUser = .qbUser;
}
</code></pre>

<p><strong>ViewController2.m</strong></p>

<pre><code> - (void)doSomething{
    QBUUser *currentUser = .qbUser;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于android - 在 quickblox 应用程序中引用当前用户,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19019113/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19019113/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: android - 在 quickblox 应用程序中引用当前用户