我在我的應用程序上使用核心數據好吧,核心數據未正確保存整數?當從NSString更改爲int
保存一個應該是整數的數字時遇到問題...當我從Core Data中獲取它時,顯示奇怪的數字值
我知道工作,因爲,與測試,讓我的idTosave = 345,它顯示CoreData的結果,但發送值[字符串到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);
}
如此,與詮釋345,我看到日誌 tu.idRef == 345
但與int f ROM串,我看到日誌 tu.idRef == -32384
所以如果我從字符串去詮釋保存,我得到我的迴應:-32384
編輯:
我有我的子類生成的核心數據類管理文件,對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 ,,時只是直接發送一個int,
因此,如果僅僅爲了測試我發送一個int :: 345,它保存得很好,如果發送一個NSString的intValue,這是行不通的,,,,我不得不爲的是送一個int什麼我的類設計用,謝謝 – MaKo 2012-02-25 14:04:01