0

ログイン機能付きのIOSアプリケーションを作成しました。これにはASIHTTPRequestを使用して、ユーザーがMySQLデータベースに存在するかどうかを確認します。すべて正常に動作しますが、ユーザーIDを他のビューコントローラーに渡すか、アプリの他の部分で取得したいと思います。

誰かが私を正しい方向に押し進めることができますか?これを最善かつ最も安全な方法で行う方法はありますか?

これは、PHPスクリプトに対してPOSTHTTPリクエストを実行する方法です。

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"*SOME_URL*"]];

コールバックでユーザーIDを取得できますが、このIDをアプリのメモリに保存してさらに使用したいと思います。

ありがとう。

4

2 に答える 2

6

userIdに保存できますAppDelegate


次のコードでuserIdプロパティを宣言します。AppDelegate.h

@property (nonatomic, strong) NSString *userId

AppDelegate.m次に、次のコードで合成します。

@synthesize userId;

その後、アプリのどこからでも使用できuserIdます。AppDelegate次のように、使用するクラスにのインポートを追加userIdします。

#import "AppDelegate.h"

取得するにuserIdは、次のコードを使用します。

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSString *userId = [appDelegate userId];

そしてuserId、次のコードを使用して設定します。

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate setUserId:YouValueRetrievedByInternetOrWhateverYouWant];
于 2012-12-04T14:32:01.543 に答える
-1

シングルトンとして機能し、静的メソッドでアクセスできるセッションクラスを用意します。

これを行うには、静的メソッドを追加できます

+ (Session *)sharedInstace {
    static Session *session;
    if (!session)
        session = [Session new]; // there are more proper ways to instantiate a singleton class, not gonna get into it now

    return session.
}

そのクラス.hに、NSString(または任意のクラスまたは任意のクラス)を追加する必要があります。これにより、どこからでもアクセスできます。[Session sharedInstance].userID

于 2012-12-04T14:30:15.050 に答える