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;
}
}