选择行后Tableview不会重新加载数据
Posted
技术标签:
【中文标题】选择行后Tableview不会重新加载数据【英文标题】:Tableview won't reload data after selecting row 【发布时间】:2018-03-16 07:04:16 【问题描述】:当我选择 tableView 中的任何行时,数据应该被删除。我已经在 textField 中设置了选定的文本,它正在工作,但是 tableView 数据在选择后没有被清除,代码如下。
请帮帮我。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
[self.tblViewSearch deselectRowAtIndexPath:indexPath animated:YES];
TimeZoneCity *objCity = (TimeZoneCity *)[searchResult objectAtIndex:indexPath.row];
txtfieldTimeZone.text=objCity.timezone;
[searchResult removeAllObjects];
[self.tblViewSearch reloadData];
【问题讨论】:
你的问题格式不正确也分享一些你所做的代码 你应该在单元格选择上隐藏表格视图 【参考方案1】:如果你真的想删除表格视图,你可以试试这个。如果您使用界面构建器设置了表格视图,这是一个坏主意,因为在这种情况下它会为您创建。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
[self.tblViewSearch deselectRowAtIndexPath:indexPath animated:YES];
TimeZoneCity *objCity = (TimeZoneCity *)[searchResult objectAtIndex:indexPath.row];
txtfieldTimeZone.text=objCity.timezone;
[self.tblViewSearch removeFromSuperview];
更好的策略可能是隐藏它,然后在需要时再次显示。为了让它看起来更好,你也可以添加一个动画。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
[self.tblViewSearch deselectRowAtIndexPath:indexPath animated:YES];
TimeZoneCity *objCity = (TimeZoneCity *)[searchResult objectAtIndex:indexPath.row];
txtfieldTimeZone.text=objCity.timezone;
[UIView animateWithDuration:0.3 animations:^
self.tblViewSearch.alpha = 0.0;
];
【讨论】:
很好的答案,它应该在单元格点击时隐藏表格视图以上是关于选择行后Tableview不会重新加载数据的主要内容,如果未能解决你的问题,请参考以下文章
用tableview重新加载uiviewcontroller的table view subobject的数据
更改数据和 popViewController 后 TableView 不会重新加载
当我在 tableView 的最后一行单击“更多数据...”时,TableView 不会重新加载数据