UIpickerview 中未加载数据

Data is not loading in UIpickerview

我正在尝试将网络服务中的数据加载到 UI 选择器视图中。它显示为空白。下面是我的代码。

NSMutableArray * flooring;
NSDictionary *dictionary;
NSString *floorname;
NSString *floorid;

- (void)viewDidLoad {
    floorname = @"Name";
    floorid   = @"IntFloorId";
    NSString *strURL=[NSString stringWithFormat:@"http://123.63.83.11:8002/api/Floor/LoadFloorType"];
    NSData *jsonSource = [NSData dataWithContentsOfURL:
                          [NSURL URLWithString:strURL]];
    id jsonObjects = [NSJSONSerialization JSONObjectWithData:
                      jsonSource options:NSJSONReadingMutableContainers error:nil];
    for (NSDictionary *dataDict in jsonObjects) {
        NSString *Name = [dataDict objectForKey:@"Name"];
        NSString *floorid1 = [dataDict objectForKey:@"IntFloorId"];
        dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                     Name,floorname,floorid1,floorid, nil];
        [flooring addObject:dictionary];
    }


-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return flooring.count;
}
    - (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component  
{
    NSDictionary *tmpDict = [flooring objectAtIndex:row];
    NSString * f = [tmpDict objectForKey:@"Name"];return f;
}

我们将不胜感激。

flooring 从未初始化,因此显示为空。

添加:

flooring = [NSMutableArray array];

在您的 viewDidLoad 方法中。

还要学习使用调试器。如果您调试代码,您早就会发现这一点。