Kann nicht eine Reihe von / in eine .plist lesen und speichern
-
21-09-2019 - |
Frage
habe ich eine Eigenschaftsliste mit dem Namen propertys.plist. Dann schrieb ich folgendes:
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"speicherung.plist"];
NSMutableArray *plistData = [[NSMutableArray arrayWithContentsOfFile:finalPath] retain];
int a = [[plistData objectAtIndex:1] intValue];
NSLog(@"%i", a); // returns always 0 - Even If I set a other number in the plist
a = a + 1;
NSNumber *ff = [NSNumber numberWithInt:a];
[plistData insertObject:ff atIndex:1];
NSLog(@"%@", [plistData objectAtIndex:1]); // returns 1 - right, because 0 + 1 = 1
[plistData writeToFile:finalPath atomically:YES];
Wenn ich diesen Code erneut ausführen, bekomme ich immer die Nummer 0 in der ersten NSLog und die Nummer 1 in den zweiten. Warum?
Dieser Code ist für das iPhone.
Lösung
[plistData objectAtIndex:1];
Dies ist ein NSNumber. So ist die Adresse dieses ObjC Objekts wird in einer ganzen Zahl umgewandelt und zu a
zugewiesen, den seltsamen Wert zu geben. Verwenden -intValue
eine ganze Zahl von extrahieren.
int a = [[plistData objectAtIndex:1] intValue];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow