多个tableView共用一个Controller

宇文迪
2023-12-01


- (NSArray *)provinces
{
    if (_provinces == nil) {
        NSString * path = [[NSBundle mainBundle]pathForResource:@"areaList" ofType:@"plist"];
        NSArray * arr = [NSArray arrayWithContentsOfFile:path];
        NSMutableArray * m_array = [NSMutableArray arrayWithCapacity:arr.count];
        for (NSDictionary * dict in arr)
        {
            CityEntity * entity = [CityEntity entityWithDict:dict];
            [m_array addObject:entity];
        }
        
        _provinces = m_array;
    }
    return _provinces;
    
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //这一个人就是让
    self.cityTableView.contentInset = UIEdgeInsetsMake(-64, 0, 0, 0);
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (tableView == self.provinceTableView)
    {
        return self.provinces.count;
    }
    CityEntity * entity = self.provinces[self.provinceTableView.indexPathForSelectedRow.row];
    return entity.Cities.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell * cell;
    if (tableView == self.provinceTableView)
    {
        cell = [tableView dequeueReusableCellWithIdentifier:@"provinceCell"];
        CityEntity * entity = self.provinces[indexPath.row];
        cell.textLabel.text = entity.State;
        cell.textLabel.highlightedTextColor = [UIColor redColor];
    }else
    {
        cell =  [tableView dequeueReusableCellWithIdentifier:@"cityCell"];
        CityEntity * entity = self.provinces[self.provinceTableView.indexPathForSelectedRow.row];
        NSDictionary * dic = entity.Cities[indexPath.row];
        cell.textLabel.text = dic[@"city"];
    }
    
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView == self.provinceTableView)
    {
        [self.cityTableView reloadData];
    }
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


 类似资料: