0

假设您有通过 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 等的所有详细信息

我能得到关于最佳方法的想法吗

4

0 回答 0