如何在目标c中的JSON链接中显示一个标签中的4个值之一?

时间:2017-06-12 12:43:30

标签: ios objective-c json uilabel

我正在使用JSON链接做一个项目。

其中,员工的假期为休闲5,紧急2,休假3,医疗0。

在JSON链接中,它是单独给出的。

"employee_casual_leave":0,"employee_medical_leave":0,"employee_annual_leave":0,"employee_emergency_leave":1

但在我的代码中,我必须在一个标签中获取其中任何一个。即一个人的假期类型应该在标签上显示。

我在xib中添加了一个标签并将cellForRowAtIndexPath设置如下:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; {
    static NSString *CellIdentifier = @"cel";

    NSString *str=[NSString stringWithFormat:@"%ld",(long)indexPath.section];

    NSUserDefaults *UserDefaults = [NSUserDefaults standardUserDefaults];
    [UserDefaults setObject:str forKey:@"leaveCount"];
    [UserDefaults synchronize];

    cell1=[self.tab1 dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell1==nil) {
        NSArray*toplevelobject=[[NSBundle mainBundle] loadNibNamed:@"emp_leave_list" owner:self options:nil];
        cell1=[toplevelobject objectAtIndex:0];
    }
    NSString *s7=[[[Dict1  objectForKey:@"employee_list"]objectAtIndex:indexPath.section ]objectForKey:@"employee_other_leave"]  ;

    NSString *s700= [NSString stringWithFormat:@"%@", s7];

    cell1.leave_type.text=s7;

    return  cell1;
}

在标签“leave_type”中,我想显示员工的休假类型,无论是休闲或紧急或其他人或休假。请尽快给我一个答案。

1 个答案:

答案 0 :(得分:0)

1)解析方法中的json并在YourViewController.h文件中声明一个数组

 NSMutableArray *arrEmployee;

 -(void)getEmployeeDetail:(NSDictionary *)jsonResponse
 {
       arrEmployee = [jsonResponse objectForKey:@"employee_list"];
       [yourTable reloadData];
}

2)添加tableview委托

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

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        return arrEmployee.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    YourCell *cell = (YourCell *)[tableView dequeueReusableCellWithIdentifier:@"YourCellIdentifier"];

    NSDictionary *info = [arrEmployee objectAtIndex:indexPath.row];
    cell.lblLeave = [info objectForKey:@"employee_annual_leave"];

    return cell;
}