2013-01-06 37 views
0

我有一个NSTableView的一个窗口上时,数据被使用的NSMutableArray填充并选择一个行之后即行selectedRow返回null

,当我检查在代码

[myTableView selectedRow]; 

[myTableView clickedRow]; 

两个返回null

任何人都可以帮忙吗?

+0

什么'的NSLog(@“表视图:%@“,myTableView);'说? –

+0

它显示为空,出路是什么? – Jaggu

+0

“myTableView”的声明是什么?听起来好像它不是你实际的表格视图对象的出口(因为你说你的显示是好的)。 –

回答

2

selectedRowclickedRow每个返回一个NSInteger,而不是一个对象。他们返回0,这是第一行的索引。

如果打印0就好像它是一个对象(例如,具有NSLog(@"%@", [myTableView selectedRow])),它将打印为nil,只是因为这是nil是:0作为对象的指针。


当然,这里假定myTableView实际上是指一个表格视图。如果myTableView尚未指向表格视图(即,myTableView变量本身包含nil),则任何发送给它的消息都将返回0(如果将其作为对象再次看起来像nil)。

如果selectedRow回报0当没有选择第一行或没有行,或clickedRow回报0未被点击第一行的时候,请确保myTableView点,你指望它。

(我故意留下的问题更具体的解释和解决方案给你,Jaggu,因为你在,你发现它已经评论说。)

+0

下面是对对象和基本类型之间差异的解释:http:// stackoverflow。COM /问题/ 7707008/NSInteger的设置到0,但是,回报比零/ 7719285#7719285 – paulmelnikow