拖放功能实现与测试驱动设计实践
1. 拖放功能实现
1.1 构建 PreferencesTableView 的策略
在实现拖放功能时,我们可以利用以下事实来构建 PreferencesTableView :
- 之前已安排 PreferencesController 接收 HasRubySource 通知,且该通知来源不影响 PreferencesController ,因此 PreferencesTableView 也可发布相同通知。
- 为隐藏 NSDraggingInfo 的底层细节,拖放协议方法应将接收到的 NSDraggingInfo 对象转换为 PrefsTableDraggingInfo ,然后不再使用原对象。
- draggingEntered 和 draggingUpdated 方法功能类似,应委托给一个通用方法。
1.2 代码实现
以下是 PreferencesTableView 的初始版本:
class PreferencesTableView < OSX::NSTableView
def awakeFromNib
# Superclass does not have an awak
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



