显示来自服务 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 捕获的视频的输出帧?
在我的 Swift 应用程序中使用来自 XPC 服务的 Objective-C 协议
如何使用 AFNetworking 3.x 在 ios、objective-C 中使用来自 SOAP webservice 的数据