uitableview didselectrowatindex 仅适用于第一个表视图而不适用于同一视图控制器中的第二个表视图?
Posted
技术标签:
【中文标题】uitableview didselectrowatindex 仅适用于第一个表视图而不适用于同一视图控制器中的第二个表视图?【英文标题】:uitableview didselectrowatindex works only for first tableview not with second tableview in same viewcontroller? 【发布时间】:2016-04-08 12:38:21 【问题描述】:viewcontroller
中显示了两个 tableviews,但是当我从第二个 tableview 应用程序中选择单元格时崩溃。请帮我。这是我的委托方法
- (void)tableView:(UITableView *)atableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
if (atableView == self.tableView)
NSLog(@"selected %@ row", [[[marrXMLData objectAtIndex:indexPath.row] valueForKey:@"url"] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]);
NSString *link = [[[marrXMLData objectAtIndex:indexPath.row] valueForKey:@"url"] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"link%@",link);
stringNotifyLink = [NSString stringWithString:link];
if (stringNotifyLink!=NULL)
NSString *fullURL = [NSString stringWithFormat:@"http://myweb.co.in/portal/%@",stringNotifyLink];
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[self.WebViewHome loadRequest:requestObj];
tableView.alpha = 0;
[tableView reloadData];
else
tableView.alpha = 1;
[tableView reloadData];
else
NSLog(@"ssssssssss");
dispatch_async(dispatch_get_main_queue(), ^
[self viewDidLoad];
);
【问题讨论】:
不应该调用viewDidLoad,应该是系统调用的 @valfer 好的。但无论如何它没有进入 else 块。甚至 nslog 都没有显示。我该怎么办? 错误显示是线程 1: EXC_BAD_ACCESS (code=1,address=0x3f80000c) 并且类 AppDelegate 定义行被突出显示。 我运行您的代码没有问题(删除 viewDidLoad 后)。您是如何设置两个表的委托/数据源的?您能否提供一个完整的代码示例来显示该错误? @valfer 我使用情节提要为两个表添加委托/数据源。但问题是在调试区域它没有显示错误,但无论如何我的应用程序正在崩溃。我到处搜索都找不到任何好的解决方案。现在我正在使用一个微调器视图和一个表视图。 【参考方案1】:尝试在XCode中设置异常断点,让应用在崩溃线停止(见图)
【讨论】:
以上是关于uitableview didselectrowatindex 仅适用于第一个表视图而不适用于同一视图控制器中的第二个表视图?的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 didSelectRowAtIndexPath 传递到另一个视图控制器 ios7