2011-08-08 44 views
-3

我正在使用表视图来显示新闻源的信息。如果你点击任何单元格,它将展开并显示所有信息。如果再次单击它,单元格会崩溃。至今在iOS 4上运行至4.3。但是当我在新测试版中测试它时,出现了一些问题。UITableView问题与iOS 5测试版4和5

首先,它看起来像indexPath已经改变。下面的代码不能正常工作了。我用它来识别必须扩展的单元格。

如果(selectedIndexPath == indexPath) {

有谁知道究竟是什么改变了?以及如何纠正上面的代码?

日Thnx

回答

6

除了在极少数情况下,你不应该使用指针相等表示对象相等。

你应该总是做:

if ([selectedIndexPath isEqual:indexPath]) { 

NSObjectisEqual:基本实现是简单地做一个指针比较,然后需要特定的实现重写它做自己的逻辑类。

+0

我一直在使用'a.row == b.row && a.section == b.section' ......如果'-isEqual:'帮助我,那么欢呼! – BoltClock

+0

好的!谢谢!我修正了这一点。但仍然面临困难......我想我并没有以正确的方式设置selectedIndexPath。我正在做这个selectedIndexPath = indexPath; – Jos

+1

@Jos:是的,您可能需要保留'indexPath'以确保它保持更长的时间。 –