Я использую данные Core в своем приложении, хорошо,
У меня проблема при сохранении числа, которое должно быть целым числом ... Когда я получаю его из Core Data, он показывает странное числозначение
Я знаю, что это работает, потому что при тесте с моим idTosave = 345 он показывает результаты CoreData, но при отправке значения [string to int], которое я знаю, просыпается, так как записывает правильноеВ ответ CD сохраняет странное значение:
(обратите внимание, что я сохраняю в сущности idRef)
NSLog(@"resultToDisplay:: %@", self.resultsToDisplay);
// int idToSave = 345; //if I use this line instead of intValue it saves 345 OK!
int idToSave = (int)[self.resultsToDisplay intValue];
NSLog(@"id salvada as NSINTEGER:: %d",idToSave);
//graba a CD!
[Student insertWithDataQR:[studentDataDicto objectForKey:@"name"] surname:[studentDataDicto objectForKey:@"surname"]
phone:[studentDataDicto objectForKey:@""]
dob:[studentDataDicto objectForKey:@"dob"] idRef:idToSave ...]];
[[Student defaultManagedObjectContext]save:nil];
Выйти:
resultToDisplay:: 1329955200
2012-02-26 00:36:08.597 MyGym_iPad[10867:707] id salvada as NSINTEGER:: 1329955200
обратите внимание на значение 1329955200, этоправильно показано как целое число и строка перед сохранением,
и для проверки ответа я делаю:
NSArray *studiantes = [Student all];
for ( Student *tud in studiantes) {
NSLog(@"tu %@ ...%@",tud.studentName, tud.idRef );
}
так, с int 345, я вижу в журнале tu.idRef == 345
но с int из строки я вижу в журнале tu.idRef == -32384
, поэтому, если я сохраню строку, которая переходит к int, я получу ответ: -32384
edit:
Я подклассифицировал свой сгенерированный файл менеджера классов базовых данных, чтобы сохранить idRef как NSNumber
studentData.idRef = [NSNumber numberWithInt:idRef];
отредактируйте x2
, чтобы проверить журнал, который я делаю:
NSArray *studiantes = [Student all];
for ( Student *tud in studiantes) {
NSLog(@"tu %@ ...%d",tud.studentName, [tud.idRef intValue]);
}
, но результат к этому: -32384 ,, для моего значения, приведенного к int,при сохранении из строки
, но с правильным значением 345 ,, при прямой отправке целого числа,