0

ボタンをクリックするとラベルが更新されるViewControllerがあります。私が欲しいのは、アプリを開くたびに、古い値を保持する必要があるということです。NSUserDefaultにすべての値を書き込むことはできますが、アプリが読み込まれる前にラベルに値を書き込む方法がわかりません。
例:
最初の実行では、ラベルの値は5です。2回目の実行では、ラベルに同じ値5が含まれている必要があります。変更を加えた場合、その変更は3回目の実行でも行われます。
ありがとう...

4

2 に答える 2

2

AppDelegateでは、アプリの起動後に最初に呼び出されるメソッドは、

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    return YES;
}

また、アプリケーション使用の非アクティブ状態からアクティブ状態などの他の場合は、

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

AppleのiOSアプリケーションライフサイクルドキュメントであるReadingをお勧めします。

于 2012-08-20T02:07:50.140 に答える
1

NSUserDefaultsViewControllerのロード時に、ラベルから保存された値を取得して値を設定する方法は次のとおりです。

- (void)viewDidLoad
{
    [super viewDidLoad];    
    self.myLabel.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"mySavedValue"];
}

私はあなたのボタンがすでにこのようなアクションに接続されていると仮定しています。これはクリックされたときに値をstandardUserDefaultsに保存します。

- (IBAction)buttonPressed:(id)sender
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:self.myLabel.text forKey:@"mySavedValue"];
    [defaults synchronize];
}
于 2012-08-20T02:14:24.390 に答える