0

基本上我有一个包含 3 行的数组,每行是一个 NSDictionary,有 6 个元素(nameLabel、name、colorLabel、color、priceLabel、price)。

例子:

NSDictionary* row1 = [[NSDictionary alloc]
initWithObjectsAndKeys:@"MacBook",@"Name",@"White",@"Color",@"$1200",@"Price", nil];

然后我将这些元素添加到一个数组中:

NSArray* array = [[NSArray alloc] initWithObjects:row1,row2,row3, nil];
//row2 and row3 being the same as row1 but with different strings.

然后我将它们添加到带有子视图的表中。

我正在尝试编写一个警报,它正在工作,但是这样写,它在 {} 之间显示了一整行。(例如:您选择了{颜色 = 黑色;名称 = iPhone;价格 = 600 美元;}。

NSUInteger row = [indexPath row];
NSString *rowValue = [computers objectAtIndex:row];
NSString *message = [[NSString alloc] initWithFormat:
                     @"You selected %@", rowValue];
UIAlertView *alert = [[UIAlertView alloc]
                      initWithTitle:@"Row Selected!"
                      message:message
                      delegate:nil
                      cancelButtonTitle:@"No"
                      otherButtonTitles:nil];
[alert show];

而不是这样,我只想显示所选元素的名称。

我意识到我需要更改此代码段,但不知道如何访问字典中的名称元素。

NSString *message = [[NSString alloc] initWithFormat:
                     @"You selected %@", rowValue];
4

1 回答 1

0
NSUInteger row = [indexPath row];
NSDictionary *dictionary = [array objectAtIndex:row]; 
NSString *name = [dictionary objectForKey:@"Name"];
NSString *message = [[NSString alloc] initWithFormat:@"You selected %@",name];
UIAlertView *alert = [[UIAlertView alloc]
                      initWithTitle:@"Row Selected!"
                      message:message
                      delegate:nil
                      cancelButtonTitle:@"No"
                      otherButtonTitles:nil];
[alert show];
于 2013-06-19T10:19:40.407 回答