Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIPickerView重新加载所有组件不';我没接到电话_Ios_Objective C_Uipickerview - Fatal编程技术网

Ios UIPickerView重新加载所有组件不';我没接到电话

Ios UIPickerView重新加载所有组件不';我没接到电话,ios,objective-c,uipickerview,Ios,Objective C,Uipickerview,我有两个表格单元格,根据我在第一个单元格中选择的内容,我必须刷新第二个单元格,当我单击第二个单元格时,带有选择器的容器视图将从隐藏状态更改为未隐藏状态 当我按下单元格时,我有一个被调用的方法,在我获得新数据后,我重新加载我的选取器,但是那行代码没有被调用,我的选取器没有被刷新: -(void)reloadData:(NSUInteger) path{ //NSUInteger path = (NSUInteger)self.parentVC.pozOras; NSString *

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

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

-(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
如您所见,我也尝试在这里重新加载组件。 我将委托和数据源也链接到vc

如果我应该发布更多的代码,请让我知道,我真的很想解决这个问题


下面是故事板的屏幕截图:

您应该首先将选择器添加为子视图,然后重新加载数据。我不太理解您的问题,但我认为您的错误可能出现在
didSelectRowAtIndexPath:
方法中,因为在else语句中您创建的PickerZone实例没有显示在任何地方,实际上,当方法结束时将被释放。我有一个容器视图,其中有一个按钮和选择器。当我按下tableview时,容器变为可见,我可以在选择器中进行选择。选择器中的数据应根据第一个tableviewcell中的数据重新加载。我要贴一张我的故事板的照片
-(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;
    }
}