假设你有Nsmutable数组通过JSON获取数据。此数据显示在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,我在其中存储moreInfo,例如venueDescription,venueLocation等
这样在secondViewController
中,我的行由该数组的内容返回
我能够在第一张桌子上接收数据,但是细节表显示所有索引的相同信息,例如当您点击VenuI或Venue2时,您将获得场地1,场地2,场地3等的所有细节
我能否就最佳方法获得想法