UIPickerView reloadAllComponents不会被调用

时间:2014-02-16 17:09:53

标签: ios objective-c uipickerview

我有2个表格单元格,根据我在第一个单元格中选择的内容,我必须刷新第二个单元格,当我单击第二个单元格时,带有选择器的容器视图从隐藏状态更改为非隐藏状态。

当我按下单元格时,我有一个被调用的方法,在我获取新数据后,我重新加载我的选择器,但是这行代码没有被调用,我的选择器没有被刷新:

-(void)reloadData:(NSUInteger) path{
    //NSUInteger path = (NSUInteger)self.parentVC.pozOras;
    NSString *parcareFile = [[NSBundle mainBundle] pathForResource:@"Parcare"
                                                            ofType:@"plist"];
    self.fisier = [NSArray arrayWithContentsOfFile:parcareFile];
    ////Log(@"reloadData:%@",self.fisier);
    NSDictionary *infoOras = [self.fisier objectAtIndex:path];
   // NSLog(@"reloadData:%@",infoOras);
    NSLog(@"reloadData:%d",(NSInteger)path);

    NSArray *zones = [infoOras valueForKey:@"Zone"];

    self.zone = [zones valueForKey:@"name"];
    NSLog(@"reloadData:%@",self.zone);
    self.price = [zones valueForKey:@"price"];
    NSLog(@"reloadData:%@",self.price);
    self.time = [zones valueForKey:@"durationminutes"];
    NSLog(@"reloadData:%@",self.time);

    [self.listaCuZone reloadAllComponents];



}

来自NSLog输出的所有数据都是选择器中的数据。 我在头文件中有UIPickerView的属性,一切似乎都已到位。我真的不知道为什么它不会被召唤。

   @interface PickerZone : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate>

@property (nonatomic, assign) FirstViewController *parentVC;
@property NSInteger zona;
@property NSUInteger path;
@property NSMutableArray *fisier;
@property NSMutableArray *zone, *price, *time;
@property (strong, nonatomic) IBOutlet UIPickerView *listaCuZone;




- (IBAction)doneButton:(id)sender;
- (void)reloadData:(NSUInteger)path;
@end

这是我从以下地方调用方法的地方:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    if(indexPath.section == 0){
        [self.listaZone viewForBaselineLayout].hidden = YES;
        [self.listaOrase viewForBaselineLayout].hidden = NO;
    }
    else
    {
        PickerZone *pickerZone = [[PickerZone alloc]init];
        [pickerZone reloadData:(NSUInteger)self.pozOras];
        [pickerZone.listaCuZone reloadAllComponents];
        [self.listaOrase viewForBaselineLayout].hidden = YES;
        [self.listaZone viewForBaselineLayout].hidden = NO;
    }
}

如您所见,我也尝试在这里重新加载组件。 我有委托和数据源也链接到vc。

如果我要发布更多代码请告诉我,我真的想解决这个问题。

以下是故事板的屏幕截图:https://www.dropbox.com/s/4nkpz55zlcffh9w/Screenshot%202014-02-16%2019.31.24.png

0 个答案:

没有答案