假设您有通过 JSON 获取数据的 Nsmutable 数组。此数据显示在 tableview 控制器上,该控制器具有另一个 tableviewcontroller 作为详细信息,另一个 tableviewcontroller 作为第三个详细信息。
我已经声明了属性并合成了如下的数组 table1 视图控制器
NSMutableArray *venueData;
NSMutableArray *patientData;
NSMutableArray *moreInfo
第二个表将深入研究场所和患者数据
表源通过json接收其数据如下
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
id results = [JSON valueForKeyPath:@"data"];
[results enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[self.venueData addObject:[NSString stringWithFormat:@"%@",[obj valueForKey:@"venueInfo"]]];
[self.patientData addObject:[NSString stringWithFormat:@"%@",[obj valueForKey:@"patientInfo"]]];
[self.moreData addObject:[NSString stringWithFormat:@"%@",[obj valueForKey:@"moreInfo"]]];
//additional code etc
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//usual code, uiviewcell subclass, dequeueReusableCellWithIdentifier etc
[[cell venue] setText:[NSString stringWithFormat:@"%@", [venueData objectAtIndex:indexPath.row]]];
[[cell patient] setText:[NSString stringWithFormat:@"%@", [patientData objectAtIndex:indexPath.row]]];
return cell;
}
下一个
我正在使用segue
if ([segue.identifier isEqualToString:@"ShowDetails"])
{
NSIndexPath *selectedRowIndex = [self.tableView indexPathForSelectedRow];
SecondViewController *detailViewController = segue.destinationViewController;
//detailViewController.delegate=self;
detailViewController.moreInfo=[NSString stringWithFormat:@"%@",[moreData objectAtIndex:selectedRowIndex.row]];
}
我创建了第三个数组并将其命名为 moreInfo,我在其中存储更多信息,例如场地描述、场地位置等
这样在 中secondViewController
,我的行由该数组的内容返回
我能够在第一个表上接收数据,但是详细表显示所有索引的相同信息,例如,当您单击 VenuI 或 Venue2 时,您将获得地点 1、地点 2、地点 3 等的所有详细信息
我能得到关于最佳方法的想法吗