2012-06-05 62 views
0

我有如下這樣一個模型:如何在覈心數據中存儲NSString?

Model

然後我想股價從一個UITableView城市。問題是,我想將它們保持在iPhone(數據庫)中,直到它達到10,然後擦除第一個並添加最後一個。我有這個想法,但我不能只是添加任何東西,我很困惑。

enter image description here

當我點擊一個城市,這必將推動從那是OK的響應JSON ID和城市的名字..發送下一個視圖。但我想要存儲這些電話號碼,以便撥打另一個UITableView(在它下面)因此,就像「最後搜索到的城市」類似的東西。

我想保存ID,名稱和之後,加載它在另一個tableView只顯示名稱。由於我很好,但我無法達到使股票發生。

代碼:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

DetailTaxi *detailView = [[DetailTaxi alloc] initWithNibName:nil bundle:[NSBundle mainBundle]]; 


NSString *nomville = [[_jsonDict objectAtIndex:indexPath.row] objectForKey:@"label"]; 
NSString *idVille = [[_jsonDict objectAtIndex:indexPath.row] objectForKey:@"id"]; 

detailView.title = nomville; 
detailView.idVille = idVille; 

NSLog(@"Valor: %@", nomville); 
NSLog(@"Valor: %@", idVille); 


AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
NSManagedObjectContext *context = [appDelegate managedObjectContext]; 

NSString *insert = [[NSString alloc] initWithFormat:@"%@,%@",idVille,nomville]; 
NSManagedObject *newVille; 


NSArray *insertVilles = [insert componentsSeparatedByString:@","]; 

for(NSString *insert in insertVilles) { 
    newVille = [NSEntityDescription insertNewObjectForEntityForName:@"Ville" inManagedObjectContext:context]; 

    [newVille setValue:[insertVilles objectAtIndex:0] forKey:@"id"]; 
    [newVille setValue:[insertVilles objectAtIndex:1] forKey:@"nom"]; 
} 


[self.navigationController pushViewController:detailView animated:YES]; 

} 

回答

0

只需添加類型的NSDate的新屬性,你在創建一個新的條目設置爲當前日期。一旦您再次檢索城市,請使用排序描述符按照保存時間對城市進行排序並使用提取限制。

如果刪除以前的城市是必要的,日期屬性也將證明有用。

+0

問題是我無法存儲數據..它發送錯誤:( – Tidane

+0

你會得到什麼錯誤?錯誤何時發生?你創建對象後實際上是否保存了上下文? – jonusx