2010-12-05 91 views
0

我正在做核心數據測試,並有一個約數組。我嘗試存儲在我的數據庫中的230條記錄。不幸的是,只有最後一條記錄似乎存儲在數據庫中。我只是無法弄清楚爲什麼我可以看到while循環正確循環?爲什麼只有最後一條記錄存儲在數據庫中?

另外,如果一個字段(nrField)被索引,我是否需要向它添加數字,或者這會在我向數據庫添加記錄時自動發生? nrFields是存儲在每條記錄中的唯一計數器。

//=========LOOP ARRAY AND INSERT RECORDS INTO DB==============// 
while (eOF != 99999) { 

    qNr = [myArray objectAtIndex:xx]; 
    eOF = [qNr intValue]; 
    xx = xx++; 

    if (eOF != 99999) { 

     qDifficulties = [myArray objectAtIndex:xx]; 
     int iDiff = [qDifficulties intValue]; 
     [famQuizInfo setValue:[NSNumber numberWithInt:iDiff] forKey:@"qDiff"]; 
     xx = xx++; 

     // No action for Category as it is not included in the database any longer 
     xx = xx++; // Calculate +1 to compensate for non existing Category 

     [famQuizInfo setValue:[myArray objectAtIndex:xx] forKey:@"question"]; 
     xx = xx++; 

     [famQuizInfo setValue:[myArray objectAtIndex:xx] forKey:@"qRightAnswer"]; 
     xx = xx++; 

     [famQuizInfo setValue:[myArray objectAtIndex:xx] forKey:@"qWrongAnswer1"]; 
     xx = xx++; 

     [famQuizInfo setValue:[myArray objectAtIndex:xx] forKey:@"qWrongAnswer2"]; 
     [famQuizInfo setValue:[NSNumber numberWithInt:0] forKey:@"qNrAccess"]; 
     [famQuizInfo setValue:[NSDate date] forKey:@"qRegDate"]; 


     //NSError *error; 
     if (![qContext save:&error]) { 
      NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]); 
     } 

     xx = xx++; 
     NSLog(@"xx: %i", xx); 

    } 
} 

回答

2

問題是您正在更新記錄並在循環中覆蓋它。您需要在循環中每次創建一個新的實例famQuizInfo

相關問題