拖放功能实现与测试驱动设计实践
1. 拖放功能实现
在开发过程中,我们要构建一个 PreferencesTableView 来实现拖放功能。以下是实现该功能的策略:
- 让 PreferencesTableView 发送 HasRubySource 通知,因为之前 PreferencesController 接收过此类通知,且它不关心通知来源。
- 隐藏 NSDraggingInfo 的底层细节,将接收到的 NSDraggingInfo 对象转换为 PrefsTableDraggingInfo ,并立即忘掉原始对象。
- draggingEntered 和 draggingUpdated 方法功能类似,将其工作委托给一个通用方法。
下面是 PreferencesTableView 的初始代码:
class PreferencesTableView < OSX::NSTableView
def awakeFromNib
# Superclass does not have an awakeFromNib
notifiable_awakeFromNib
registerForDraggedTypes([NSFilenamesPboardType])
end
d
超级会员免费看
订阅专栏 解锁全文
1

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



