0

我有一个遵循这个的模型:

模型

然后我想从UITableView. 问题是,我想将它们保存在 iPhone(数据库)中直到达到 10,然后它会删除第一个并添加最后一个。我有这个想法,但我不能只是添加任何东西,我很困惑。

在此处输入图像描述

当我点击一个城市时,它会推送到下一个视图,从响应 JSON 发送城市的 id 和名称.. 没关系。但我想存储这些以便拨打相同的电话,但来自另一个UITableView(在它下面)所以它就像“搜索的最后一个城市”之类的东西。

我想保存 id、name,然后将其加载到仅显示名称的另一个 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];

}
4

1 回答 1

0

只需添加一个 NSDate 类型的新属性,您在创建新条目时将其设置为当前日期。再次检索城市后,使用排序描述符按保存时间对城市进行排序,并使用获取限制。

如果需要删除以前的城市,日期属性也将证明是有用的。

于 2012-06-05T12:30:40.603 回答