在NSTableView中返回selectedRow的垃圾值

时间:2010-10-12 10:15:31

标签: objective-c cocoa

我有一个代码,它返回NStableView的选定行,如下所示:

int status;
NSUInteger selectedRow = [tableView selectedRow];
if (selectedRow == 0)
    return;

但是,当我没有在表视图中选择任何行或者tableview为空时,它返回垃圾值。我该如何解决这个问题。

3 个答案:

答案 0 :(得分:3)

-selectedRow会返回已签名的整数,并且您在代码中使用了unsigned。如果没有行选择方法返回-1,那么你的无符号变量中会出现一些溢出值。

答案 1 :(得分:0)

表中的第一行是行零。 “没有选定行”的占位符为NSNotFound

答案 2 :(得分:0)

另一种解决方案是获取表格视图selectedRowIndexes并检查该集合的计数。空索引集(count == 0)表示没有选择;如果索引集不为空(count> 0),则至少选择一行(由集合中的索引标识的行)。