核心数据反向关系

时间:2011-04-12 11:05:27

标签: iphone core-data

我正在使用核心数据创建旅游指南应用。我有4个实体CITY,RESTAURANTS, 酒店和着名的地方。城市与所有其他实体相连,因为一个城市可能有许多餐馆,酒店和地方。 City实体有3个属性Name,Image,Description。我能够显示所选城市的列表餐厅。在餐厅实体我有4个属性名称,描述,地址和电话号码。现在我想要显示 下一个视图中所选餐厅(所选城市)的属性详细信息。但是如何在下一个视图中访问餐厅描述.. 这是我的代码。

     - (void)viewWillAppear:(BOOL)animated {

        [super viewWillAppear:animated];

        NSMutableArray *restaurants = [[NSMutableArray alloc]initWithArray:[city.cityTorestaurants allObjects]];





        NSSortDescriptor *nameDescriptor  = [[NSSortDescriptor alloc]initWithKey:@"Name" ascending:YES];

        NSArray *sortDescriptors = [[NSArray alloc]initWithObjects:nameDescriptor,nil];
        [restaurants sortUsingDescriptors:sortDescriptors];
        [hotels sortUsingDescriptors:sortDescriptors];
        [self setArrayOfRestaurants:restaurants];
        [restaurants release];
        [nameDescriptor release];
        [sortDescriptors release];
        [tableView reloadData];

    }

- (UITableViewCell *)tableView:(UITableView *)atableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil ) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                       reuseIdentifier:CellIdentifier]autorelease];

    }

    //set up cell


    NSLog(@"For Restaurants List");
    Restaurants *restaurants = [arrayOfRestaurants objectAtIndex:indexPath.row];
cell.textLabel.text = restaurants.Name;

return cell; 
} 

cityTorestaurants and restaurantTocity是核心数据的关系.. 请帮助..

1 个答案:

答案 0 :(得分:2)

在您的RestaurantViewController中创建一个属性Restaurant* currentRestaurant
在CityViewController的didSelectRowAtIndexPath:中,使用self.restaurantVC.currentRestaurant = [arrayOfRestaurants objectAtIndex:indexPath.row];

设置属性