Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 单击后刷新NSTableView-不刷新_Iphone - Fatal编程技术网

Iphone 单击后刷新NSTableView-不刷新

Iphone 单击后刷新NSTableView-不刷新,iphone,Iphone,我有一个带有UITableView的应用程序,同时使用图标和显示按钮。我想用“选定”图标更新行上的图标,用“未选定”图标更新先前选定的行。我已经准备好了代码,但是当我单击行时,它将两行都设置为“selected”状态,即使通过调试我可以看到我的state变量被设置为正确的行。如果我一直单击行,有时会显示“未选中”状态。我怀疑这是刷新问题,但我在单元格和tableView本身上尝试了setNeedsDisplay方法,但没有成功。以前有人碰到过这个吗?顺便说一句,这是在模拟器(2.2.1)-还没有

我有一个带有UITableView的应用程序,同时使用图标和显示按钮。我想用“选定”图标更新行上的图标,用“未选定”图标更新先前选定的行。我已经准备好了代码,但是当我单击行时,它将两行都设置为“selected”状态,即使通过调试我可以看到我的state变量被设置为正确的行。如果我一直单击行,有时会显示“未选中”状态。我怀疑这是刷新问题,但我在单元格和tableView本身上尝试了setNeedsDisplay方法,但没有成功。以前有人碰到过这个吗?顺便说一句,这是在模拟器(2.2.1)-还没有尝试在设备上

代码如下:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    {
        int newRow = [indexPath row];
        int oldRow = [lastIndexPath row];

        if (newRow != oldRow)
        {
            [[tableView cellForRowAtIndexPath:indexPath] setImage: [UIImage imageNamed:@"IsSelected.png"]];

            c_oListPtr.c_sCurItem = [[tableView cellForRowAtIndexPath:indexPath] text];

            [[tableView cellForRowAtIndexPath:lastIndexPath] setImage: [UIImage imageNamed:@"NotSelected.png"]];

            [lastIndexPath release];
            lastIndexPath = indexPath;

            [[tableView cellForRowAtIndexPath:lastIndexPath] setNeedsDisplay];
            [[tableView cellForRowAtIndexPath:indexPath] setNeedsDisplay];
            [tableView setNeedsDisplay];
        }

        [tableView deselectRowAtIndexPath:indexPath animated:YES];
    }
谢谢
-Mike

您是否尝试过
[tableView重新加载数据]