1

1 つのアプリケーションを作成しており、アプリケーションを開く前にアクセス資格情報 (組織コード、アクセスコード) を入力する必要があります。ユーザーが初めてアクセス許可を入力するときは、設定を保存する必要があります。ユーザーがアプリを再度開くと、自動的にアプリケーションを続行する必要がありますが、アクセス資格情報は必要ありません。

ここでコードをビルドします

log cat にエラーはありませんが、設定が保存されていません。ユーザーがアプリケーションを開いたときに、設定を保存してロードする必要があります。コードで何か間違ったことをしていますか?

4

1 に答える 1

5

この一般的な関数は、データを NSUserDefaults に追加することです。これはクラス関数なので、クラス名を使用してこれを呼び出す必要があります。これを AppDelegate 実装ファイルに記述します。

+(void)addToNSUserDefaults:(id)pObject forKey:(NSString*)pForKey
{
    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
    [defaults setObject:pObject forKey:pForKey];
    [defaults synchronize]; 
}

これは、NSUserDefaults からデータを取得するためのものです。

+(id)getFromNSUserDefaults:(NSString*)pForKey
{
    id pReturnObject;
    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
    pReturnObject = [defaults valueForKey:pForKey];
    return pReturnObject;
}

アプリケーションを起動するとき、 AppDelegate のこのメソッドでこれを確認するだけで、

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    NSString *strtmp = [AppDelegate getFromNSUserDefaults:YOUR_KEY];

    if(strtmp == nil)
    {
        //User have to enter data to save in User Defaults
    }
    else
    {
        //Application Starts without entering Code, as you have it in your UserDefaults
    }
}
于 2013-05-04T04:55:54.303 に答える