如何通过选择表格视图单元格获取字典值?
Posted
技术标签:
【中文标题】如何通过选择表格视图单元格获取字典值?【英文标题】:How to get the dictionary value by selection tableview cell? 【发布时间】:2014-05-16 15:49:36 【问题描述】:我有两个数组和一个字典,其中包含数字和国家,如 ViewDidLoad 方法所示。 当用户单击特定单元格时,国家/地区将显示在控制台中。 我怎样才能做到这一点。 提前致谢。
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
arrayofNumbers = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
arrayofCountries = [[NSArray alloc]initWithObjects:@"India", @"America",@"Pakistan",@"Germany",@"Australia",nil];
dictOfCountries = [[NSDictionary alloc] initWithObjects:arrayofNumbers forKeys:arrayofCountries];
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
NSIndexPath *selectedIndexPath = [tableView indexPathForSelectedRow];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:selectedIndexPath];
NSLog(@"%@", cell.textLabel.text);
【问题讨论】:
请修正您的代码格式(缩进并去掉所有多余的空行)。 【参考方案1】:为什么要创建 NSDictionary
和额外的 NSArray
来保存您的 indexPath?您可以通过 arrayofCountries
数组中的索引访问所选国家/地区。
将您的 viewDidLoad
方法更改为:
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
arrayofCountries = [[NSArray alloc]initWithObjects:@"India",@"America",@"Pakistan",@"Germany",@"Australia",nil];
并实现didSelectRowAtIndexPath
委托方法如下
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
// when user select a cell in your tableView the indexPath of this cell is the
// index of your dataSource array in your case this is arrayOfCountries
NSLog(@"Selected Country ----> %@", [arrayOfCountries objectAtIndex:[indexPath.row]]);
【讨论】:
谢谢。我很感激【参考方案2】:-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
NSLog(@"%@", arrayOfCountries[indexPath.row]);
【讨论】:
以上是关于如何通过选择表格视图单元格获取字典值?的主要内容,如果未能解决你的问题,请参考以下文章
点击保存按钮并存储在字典中时获取表格视图单元格中的文本字段?
如何根据步进值而不是 swift 3 中单元格的物理选择来选择表格视图的单元格?
如何在不选择任何行的情况下从 iphone 的表格视图单元格中读取值