0

私は Iphone アプリを作成しています。ユーザーにボタンをクリックさせると、取得した結果コントローラーの並べ替えが変更されます。ただし、アプリを閉じると、元の並べ替え方法に戻ります。アプリが再度開いたときにそのボタンを押したままにする方法があるかどうか疑問に思っていました.

- (IBAction)btnValue:(id)sender {
self.model.frc_Work.delegate = self;

 NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"Value" ascending:YES];
self.model.frc_Work.fetchRequest.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];

}

4

1 に答える 1

1

はい。NSUserDefaults情報を保存するために使用するだけです:

// Set this to the correct value when the button is pressed
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"ButtonPressedKey"];

次に、ボタンをレイアウトするとき:

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"ButtonPressedKey"]){
    // Do whatever you're currently doing to keep the button pressed during runtime.
}

NSUserDefaults基本的に、NSDictionaryアプリの起動後も持続する です。NSNumber, NSString, NSData, NSArray, NSDictionary, and NSDateプロパティ リストの値 ( ) と s などのプリミティブのみを格納しますBOOL

以下は、 httpsUISwitch : //github.com/MaxGabriel/ButtonPersistenceを使用してこれを実証するサンプル プロジェクトです。

于 2012-12-02T03:18:50.477 に答える