2009-08-06 12 views
1

i Wana speichern Sie den Index der ausgewählten Zelle der Tabelle mit NSArray, können Sie mir helfen ....Wie kann ich Wert in einem NSArray mit WritetoFile speichern?

+0

Bewahren Sie es wie? Speichern Sie es in einer Datei auf der Festplatte oder speichern Sie es im Speicher? –

+0

auf der Festplatte, wenn ich diese Anwendung neu laden, dann kann ich diesen gespeicherten Wert bekommen. i Wana speichert den Index der ausgewählten Tabellenzelle. – Aamir

Antwort

0

Ich weiß nicht, ob ich die Frage richtig verstehe, aber es klingt wie Sie eine Eigenschaftsliste verwenden könnten speichern Sie diese Informationen. Eigenschaftslisten sind sehr einfach zu verwenden und mit geringen Datenmengen sehr effizient.

Lesen Sie den "Property List Programming Guide" für weitere Erläuterungen. Da ist sogar ein Tutorial drin.

1

Sie können hierfür die Standardeinstellungen des Benutzers oder property list verwenden.

Beispiel für Benutzereinstellungen. Sie haben eine Controller-Klasse, die Zugriff auf den Index hat und sie beim Start lädt und in plist schreibt, wenn sie aktualisiert wird:

Wenn Sie irgendeine Art von Controller-Klasse haben, dann würden Sie diesen Code in + (void)initialize setzen, initialisiert er Variable, wenn es in plist existiert nicht:

+ (void)initialize 
{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSDictionary *appDefaults = 
       [NSDictionary dictionaryWithObject:[NSNumber numberWithInteger:5] 
              forKey:@"MyFunnyIndex"]; 
    [defaults registerDefaults:appDefaults]; 
} 

in Ihrem -(void)awakeFromNib (ich nehme an, Sie irgendeine Art von Controller-Klasse verwenden) laden Sie Ihre zuletzt gespeicherten Wert:

-(void)awakeFromNib 
{ 
    int index = 
      [[NSUserDefaults standardUserDefaults] integerForKey:@"MyFunnyIndex"]; 
      [somethingThatNeedsIndex setIndex:index]; 
    // ... 
} 

Irgendwo, wo die im dex aktualisiert (oder wo Sie es schreiben wollen plist), macht sie es - (void)updateInterface nennen:

- (void)updateInterface 
{ 
    [[NSUserDefaults standardUserDefaults] 
        setObject:[NSNumber numberWithInteger:index] 
         forKey:@"MyFunnyIndex"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
} 
Verwandte Themen