UITableviewController作为具有NSmutable Arrays的细节控制器

时间:2013-09-07 16:07:05

标签: ios arrays json

假设你有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等的所有细节

我能否就最佳方法获得想法

0 个答案:

没有答案