我一直在阅读关于NSButtons和cells的苹果文档,我似乎真的不能理解两者之间的区别。更复杂的是,它们看起来都有大量重叠的方法,比如setTitle:等,我不确定应该使用哪种方法。
谁能解释一下基本的区别是什么?
谢谢,
Teja
发布于 2016-01-19 11:18:35
节选自Cocoa Programming for OS X: The Big Nerd Ranch Guide
“单元格处理控件的实现细节。在大多数情况下,单元格的属性和方法被相应控件中相同的属性和方法“覆盖”。例如,当您更改标签上的标题时,标签的单元格将执行此工作,但您将与标签的stringValue属性交互。
细胞在可可中有很长的历史。它们最初是为了解决性能问题而添加的:控件的许多基本任务都交给了计算单元,计算单元可以比控制单元更有效地完成这些任务。
Mac电脑比当时的功能要强大得多,手机已经成为一种累赘。苹果公司表示,它正在弃用单元格,但你仍然会在文档大纲和旧代码中看到它们。“
发布于 2016-01-28 20:54:06
NSButtonCell是NSActionCell的一个子类,用于实现按钮、开关和单选按钮的用户界面。它还可以用于视图的任何其他区域,该视图被设计为在单击时向目标发送消息。NSControl的NSButton子类使用单个NSButtonCell。要创建一组开关或单选按钮组,请使用包含一组NSButtonCell的NSMatrix。
发布于 2011-05-24 23:41:54
NSButton单元格在绘图和行为方面有很多可裁剪的选项。从它们继承的类中可以更好地看出差异(NSButtonCell继承自ActionCell类,而NSButton继承自NSControl类。
更好地查看文档:
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSButton_Class/Reference/Reference.html
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSButtonCell_Class/Reference/Reference.html
您应该根据您希望按钮的绘制和行为方式进行选择。如果你想要一个简单的按钮,使用NSButton。
https://stackoverflow.com/questions/6112861
复制相似问题