将此JSON数组中的其他字符串转换为UITableView Detail

时间:2010-06-04 23:18:32

标签: iphone arrays uitableview

我有一个NSURL请求,带回一个“name”和“phone”,“etc”的数组......“name”键在主表上显示正常,但我无法弄清楚如何当我选择行时,让数组的其余部分显示在详细信息表上。 (我让DetailerTableViewController工作以接受视图)。任何帮助将不胜感激。

谢谢,

   - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [rowsArray count];
NSLog(@"row count: %@",[rowsArray count]);
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}

NSDictionary *dict = [rowsArray objectAtIndex: indexPath.row];  

    cell.textLabel.text = [dict objectForKey:@"name"];
    cell.detailTextLabel.text = [dict objectForKey:@"loginName"];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;


return cell;
}

- (void)viewDidLoad {
[super viewDidLoad];

self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:0.0/255.0 green:207.0/255.0 blue:255.0/255.0 alpha:1.0];
self.title = NSLocalizedString(@"Master", @"Master");
NSURL *url = [NSURL URLWithString:@"http://10.0.1.8/~imac/iphone/jsontest.php"];
NSString *jsonreturn = [[NSString alloc] initWithContentsOfURL:url];

NSLog(jsonreturn); // Look at the console and you can see what the results are

NSData *jsonData = [jsonreturn dataUsingEncoding:NSUTF32BigEndianStringEncoding];
NSError *error = nil;

// In "real" code you should surround this with try and catch
NSDictionary * dict = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];
if (dict)
{
    rowsArray = [dict objectForKey:@"member"];
    [rowsArray retain];
}


NSLog(@"Array: %@",rowsArray);
NSLog(@"count is: %i", [self.rowsArray count]);


[jsonreturn release];

}

1 个答案:

答案 0 :(得分:1)

您需要实施:

- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

处理行选择并推送视图控制器以进行详细视图。