首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对NSButtonCell状态的好奇

对NSButtonCell状态的好奇
EN

Stack Overflow用户
提问于 2014-01-26 01:27:33
回答 1查看 172关注 0票数 0

我有一个NSTableView,其中有一个带有NSButtonCell (复选框)的NSTableColumn,它在每次添加一行时生成一个新的NSButtonCell实例,这是我在IB中配置的。但是,我很好奇为什么在下面的代码块中,第二个NSLog返回0。

代码语言:javascript
复制
NSLog(@"%ld", (long)[[self.tableView preparedCellAtColumn:0 row:0]state]);
[[self.tableView preparedCellAtColumn:0 row:0]setState:1];
NSLog(@"%ld", (long)[[self.tableView preparedCellAtColumn:0 row:0]state]);

它返回0的事实意味着我向NSButtonCell的实例发送了一条消息,对吗?那么为什么setState不:更改第二个NSLog的返回值呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-26 07:46:15

如果它正在接收nil,它也会打印0,我建议您尝试一下

代码语言:javascript
复制
NSLog(@"cell:%@", [self.tableView preparedCellAtColumn:0 row:0])

以确保实际从表视图中获取有效的单元格对象。

你从哪里打电话来的?在表已经显示之后?在初始化过程中?

如果前者是可用的,那么应该有一个单元格,如果后者,则可能还没有从池中创建或重新分配。

尝试上面的NSLog命令,以确保您实际上正在从表视图中获取一个单元格,而不是nil

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21358498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档