显示来自服务 Objective-C 的输出的问题

Posted

技术标签:

【中文标题】显示来自服务 Objective-C 的输出的问题【英文标题】:Issue with displaying the output from a service Objective-C 【发布时间】:2017-03-06 07:02:34 【问题描述】:

下面是我从服务中获得的数组。


    ClassDays = "Monday,Tuesday,Wednesday,Thursday,Friday,Saturday";
    empName = Abhinav;
    Experience = "4 Years";
    Attendance = Daily;
    Subject = Physics;
    ClassTimings =     (
                       
                           GMT = "PLUS05:30";
                           Time = "12:50:00";
                           TimeZone = "Asia/Hyderabad";
                       ,
                       
                           GMT = "PLUS05:30";
                           Time = "13:00:00";
                           TimeZone = "Asia/Hyderabad";
                       ,
                       
                           GMT = "PLUS05:30";
                           Time = "13:10:00";
                           TimeZone = "Asia/Hyderabad";
                       ,
                       
                           GMT = "PLUS05:30";
                           Time = "13:20:00";
                           TimeZone = "Asia/Hyderabad";
                       
                       );
    JoinedDate = "2017-003-06";
    Education = M.Tech;
    empId = 535;

我的问题是来自上面的数组输出能够显示 empName、Experience、Attendance、Subject 和 Education 的值,但无法显示 ClassTimings GMT、Time、TimeZone。我如何从数组下方显示 ClassTimings。以下是我尝试过的代码。请帮我找出问题所在。 TIA

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 


    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    

       //Some code
    

    NSArray *keys = [empDict allKeys];

    for(int i=0 ; i<[keys count]; i++ )
    

        NSString *value=[medicationDict objectForKey:[keys objectAtIndex:i]];
        if ([value isEqual: [NSNull null]]) 

            [empDict setValue:@"--" forKey:[keys objectAtIndex:i]];

        

    

    if(indexPath.row==0)
    
        cell.textLabel.text = @"EmployeeName";
        cell.detailTextLabel.text=[empDict objectForKey:@"empName"];
    

    if(indexPath.row==1)
    
        cell.textLabel.text = @"Experience";
        cell.detailTextLabel.text=[empDict objectForKey:@"Experience"];
    

    if(indexPath.row==2)
    
        cell.textLabel.text = @"Attendance";
        cell.detailTextLabel.text=[empDict objectForKey:@"Attendance"];
    
    if(indexPath.row==3)
    
        cell.textLabel.text = @"Subject";
        cell.detailTextLabel.text=[empDict objectForKey:@"Subject"];
    
    if(indexPath.row==4)
    
        cell.textLabel.text = @"Education";
        cell.detailTextLabel.text=[empDict objectForKey:@"Education"];
    
    if(indexPath.row==5)
    
        cell.textLabel.text = @"ClassTimings";
        cell.detailTextLabel.text=[empDict objectForKey:@"GMT",
                                   @"Time",@"TimeZone"];
    

【问题讨论】:

ClassTimings 是字典数组,因此您需要在单元格中添加 tableView。 【参考方案1】:

简单你可以从你的 Json 获取数组并传入 tableview 索引路径行因为 ClassTimings 是从你的 JsonDictionary 制作数组

如果只显示单行

 if(index path.row ==5)

 NSString *stgmt = [empDict objectForKey:@"GMT"];;

 NSString *strtime = [empDict  objectForKey:@"Time"];; 

 NSString *strtimeZone = [empDict objectForKey:@"TimeZone"];

//如果你想制作数组并显示每个tableview行而不是它的逻辑

  yourArray = [jsonDict  objectForKey:@"ClassTimings"];
 NSString *stgmt = [yourArray objectAtIndex:indexPath.row]objectForKey:@"GMT"];;

 NSString *strtime = [yourArray objectAtIndex:indexPath.row]objectForKey:@"Time"];; 

 NSString *strtimeZone = [yourArray objectAtIndex:indexPath.row]objectForKey:@"TimeZone"];;

【讨论】:

你看到这个if(indexPath.row==5)了吗,它是静态索引 那么我如何将 GMT、Time 和 TimeZone 分配给标签 stgmt, strtime, strtimeZone 你会在这个传递这个值的标签中得到值

以上是关于显示来自服务 Objective-C 的输出的问题的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C - 在 XEP 153 中显示来自 XMPPvCardAvatarModule 的头像图片?

为啥 Objective-C 不显示 OpenCV 捕获的视频的输出帧?

在 DTrace 输出中显示 Objective-C 类

在我的 Swift 应用程序中使用来自 XPC 服务的 Objective-C 协议

从 Objective-C 中的多个滑块输出平均数字

如何使用 AFNetworking 3.x 在 ios、objective-C 中使用来自 SOAP webservice 的数据