UITableViewCell中的bug
2016-01-27 15:24
471 查看
在写切换城市页面时,遇到了一个很诡异的bug。
每次进入该页面,应在已选择的城市对应的cell上勾选,其他的应为非勾选状态,于是这样的写了代码:
但结果有点纠结,每次都有一两没有选中的城市勾上了,而且调试过程中也没有发现问题。
思来想去,觉得这只能是UITableViewCell的初始状态不一定是None,也可能是CheckMark,于是改成这样子就可以了。
抱歉,有点标题党的感觉,但这貌似是苹果bug。。。
每次进入该页面,应在已选择的城市对应的cell上勾选,其他的应为非勾选状态,于是这样的写了代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"city" forIndexPath:indexPath]; CityAndAreaInfo* info = [cityArray objectAtIndex:indexPath.row]; cell.textLabel.text = info.cityName; if (!_selectedCity || [_selectedCity.cityName isEqualToString:@""]) { if (indexPath.row == 0) { cell.accessoryType = UITableViewCellAccessoryCheckmark; _selectedCity = info; } }else { if ([info.cityName isEqualToString:_selectedCity.cityName]) { cell.accessoryType = UITableViewCellAccessoryCheckmark; } } return cell; }
但结果有点纠结,每次都有一两没有选中的城市勾上了,而且调试过程中也没有发现问题。
思来想去,觉得这只能是UITableViewCell的初始状态不一定是None,也可能是CheckMark,于是改成这样子就可以了。
if ([info.cityName isEqualToString:_selectedCity.cityName]) { cell.accessoryType = UITableViewCellAccessoryCheckmark; } else cell.accessoryType = UITableViewCellAccessoryNone;
抱歉,有点标题党的感觉,但这貌似是苹果bug。。。
相关文章推荐
- SourceProvider.getJniDirectories
- Trac 中文语言安装
- 软件 bug 的生命周期
- Firefox2中输入框丢失光标bug的解决方法
- for命令的一些bug分析
- 修正IE下使用CSS属性overflow的bug
- 解决IE6 3像素Bug的css写法
- 跟我学习JScript的Bug与内存管理
- JS注释所产生的bug 即使注释也会执行
- IE本地存储userdata的一个bug说明
- IE在DOM操作有表单控件时的bug
- ie 处理 gif动画 的onload 事件的一个 bug
- IIS6 安全性存在超级BUG,快来看
- Android生存指南之:解Bug策略与思路问题的详解
- shell脚本中case条件控制语句的一个bug分析
- 关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
- jQuery ajax BUG:object doesn't support this property or method
- ShareSDK造成App崩溃的一个BUG原因分析以及Fix方法
- 关于c语言的一个小bug详解
- JavaScript编程中容易出BUG的几点小知识