2

これは非常に単純な質問かもしれませんが、最善の解決策があるかどうか知りたいです。私は、quickblox が現在のユーザーをキャッシュするかどうか疑問に思っています。[PFUser CurrentUser]Parse に精通している場合は、型メソッドを探しています。

これが存在しない場合、アプリにログインした後、viewController から現在のユーザーを参照する最良の方法は何ですか。(起動時にログインが必要です)。そのユーザーのIDを保存して後で使用することを考えています(NSUserDefaultsまたは同様のもの)。

また、quickblocks ログインはアプリの起動間で保持されますか?

どんなアイデアや意見も歓迎します。ありがとう

4

1 に答える 1

1

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;
 }
于 2013-10-02T09:02:16.743 に答える