Невозможно прочитать и сохранить число из/в .plist

StackOverflow https://stackoverflow.com/questions/2488607

Вопрос

Я создал список свойств с именем property.plist.Тогда я написал это:

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];

Когда я запускаю этот код снова, я всегда получаю номер 0 в первом журнале NSLog и номер 1 во втором.Почему?

Этот код предназначен для iPhone.

Это было полезно?

Решение

[plistData objectAtIndex:1];

Это NSNumber.Таким образом, адрес этого объекта ObjC преобразуется в целое число и присваивается a, давая странное значение.Использовать -intValue чтобы извлечь из него целое число.

int a = [[plistData objectAtIndex:1] intValue];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top