Swift中如何找到官方的UTTypeItem常量?注册拖拽类型遇错误
解决Swift中UTTypeItem找不到的问题
- 你需要导入的是
UniformTypeIdentifiers框架,而非CoreServices,这是UTType相关API的官方归属框架。 - 官方的正确写法是**
UTType.item**(静态属性形式),而非你尝试的UTTypeItem常量。 - 由于
registerForDraggedTypes需要NSPasteboard.PasteboardType类型参数,需通过pasteboardType属性转换后使用,示例代码:import UniformTypeIdentifiers controlView.registerForDraggedTypes([UTType.item.pasteboardType]) - 补充:旧的
kUTTypeItem是CoreServices中的C语言常量,Swift里官方推荐用UniformTypeIdentifiers框架下的UTType结构体静态属性替代,UTType.item正好对应public.item这个UTI,和你自行定义的内容一致。
内容的提问来源于stack exchange,提问作者Dave Jewell
相关产品推荐
相关产品推荐

