【发布时间】:2014-06-28 12:09:37
【问题描述】:
再次需要帮助!在应用程序启动时,我需要创建 2 个实体:Provider и Country。我觉得他们是这样的:
-(NSArray *) resultArray {
Provider *orangeFR = [NSEntityDescription insertNewObjectForEntityForName:@"Provider" inManagedObjectContext:self.managedObjectContext];
orangeFR.name = [NSString stringWithFormat:@"Orange"];
orangeFR.adress = [NSString stringWithFormat:@"Champ De Mars"];
Provider *sfrFR = [NSEntityDescription insertNewObjectForEntityForName:@"Provider" inManagedObjectContext:self.managedObjectContext];
sfrFR.name = [NSString stringWithFormat:@"SFR"];
sfrFR.adress = [NSString stringWithFormat:@"SFR Adress"];
NSArray *FRProviders = @[orangeFR, sfrFR];
Provider *BeelineRU = [NSEntityDescription insertNewObjectForEntityForName:@"Provider" inManagedObjectContext:self.managedObjectContext];
BeelineRU.name = [NSString stringWithFormat:@"Beeline"];
BeelineRU.adress = [NSString stringWithFormat:@"Beeline adress"];
Provider *MTSRU = [NSEntityDescription insertNewObjectForEntityForName:@"Provider" inManagedObjectContext:self.managedObjectContext];
MTSRU.name = [NSString stringWithFormat:@"MTS"];
MTSRU.adress = [NSString stringWithFormat:@"MTS Adress"];
NSArray *RUProviders = @[BeelineRU, MTSRU];
Country *france = [NSEntityDescription insertNewObjectForEntityForName:@"Country" inManagedObjectContext:self.managedObjectContext];
france.name = [NSString stringWithFormat:@"France"];
[france addProvider:[NSSet setWithArray:FRProviders]];
Country *russia = [NSEntityDescription insertNewObjectForEntityForName:@"Country" inManagedObjectContext:self.managedObjectContext];
russia.name = [NSString stringWithFormat:@"Russia"];
[russia addProvider:[NSSet setWithArray:RUProviders]];
NSArray *countries = @[france, russia];
return countries;
}
那么我如何在下次启动时使用这些数据而无需再次创建它们?如何计算 Country 对象?将 Provider 传递给下一个控制器的正确方法是什么,我如何计算那个控制器中的 Provider?
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MSTProviderViewController *providerViewController = [[MSTProviderViewController alloc]init];
[self.navigationController pushViewController:providerViewController animated:YES];
NSArray *countries = [self resultArray];
Country *selectedCountry = countries[indexPath.row];
Provider *selectedProvider = selectedCountry.provider; //[selectedCountry valueForKey:@"provider"];
//NSArray *selectedProvider = [selectedCountry valueForKey:@"provider"];
providerViewController.providers = selectedProvider;
}
【问题讨论】:
-
这至少有四个问题。请将其编辑为仅一个,否则无法回答。
-
@jrturton 请告诉我有关初始化和计数的信息
-
如果有帮助,也请尝试接受您之前问题的答案。人们花时间试图帮助你。
标签: ios objective-c uitableview core-data