1

ユーザー名とパスワードを使用してログインする必要がある WCF サービスがあります。その後、サービスからトークン文字列が返されます。このトークン文字列は、WCF サービスで他のメソッドをクエリするときに使用する必要があります。wsdl2objc を使用してサービスをセットアップしましたが、完全に動作します。私の質問は次のとおりです。

  • このトークン文字列をどこに保存しますか? 現在、すべてがバックエンドで行われるため、電話には SQLite データベースはありません。
  • トークンを保存できる場合、電話で利用可能なトークンがない場合にのみ表示されるログイン ページを作成することは可能ですか?
  • サービスへの他の呼び出しに必要なため、ログインに使用したユーザー名も保存できますか。
4

5 に答える 5

3

これを試して、

以下のように設定します

[[NSUserDefaults standardUserDefaults] setValue:token forKey:@"myToken"];
[[NSUserDefaults standardUserDefaults] setValue:userName forKey:@"myUserName"];

以下のように値を取得します

NSString *token = [[NSUserDefaults standardUserDefaults] valueForKey:@"myToken"];
NSString *userName = [[NSUserDefaults standardUserDefaults] valueForKey:@"myUserName"];
于 2013-05-29T12:51:28.443 に答える
2

それを保存するには、これを使用します:

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];

[standardUserDefaults setObject:token forKey:@"token"];
[standardUserDefaults synchronize];

そしてそれを元に戻すには、これを使用します:

NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSString *token = [standardUserDefaults objectForKey:@"token"];
于 2013-05-29T12:53:16.570 に答える
2

トークン文字列を格納するために NSUserDefaults を使用できます。このリンクは、 nsuserdefaults_iphoneを理解するためのより良い方法を提供します

お役に立てば幸いです...!

于 2013-05-29T12:46:57.113 に答える
2

保存:

[[NSUserDefaults standardUserDefaults] setObject:@"myHashKey" forKey:@"hastToken"];

取得:

[[NSUserDefaults standardUserDefaults] stringForKey:@"hastToken"];
于 2013-05-29T12:51:04.883 に答える
1

NSUserDefaults行くための最良の方法の1つです。別の解決策は、必要なすべての詳細を格納するシングルトン クラスを使用することです。次に例を示します。

ServerCheck.h

#import <Foundation/Foundation.h>

@interface ServerCheck : NSObject
{
    NSString *userToken;
}
@property (nonatomic, strong) NSString* userToken;

+ (id)sharedSingletonController;
@end

ServerCheck.m

#import "ServerCheck.h"

@implementation ServerCheck
@synthesize updateOnServer
+(ServerCheck*)sharedSingletonController{

    static ServerCheck *sharedSingletonController;

    @synchronized(self) {
        if(!sharedSingletonController){
            sharedSingletonController = [[ServerCheck alloc]init];
        }
    }

    return sharedSingletonController;
}

-(id)init{
    self = [super init];
    if (self != nil) {
        userToken = [[NSString alloc]init];
        }
    return self;
}

@end

次のように値にアクセスできます。

ServerCheck *serverData = [ServerCheck sharedSingletonController];
serverData.userToken = <YOUR TOKEN>;
于 2013-05-29T13:00:09.430 に答える