Swift 4 参数类型不符合预期类型'NSItemProviderWriting'

Swift 4 Argument type does not conform to expected type 'NSItemProviderWriting'

我遇到了这个错误,我有一个结构,我想把它变成 UIDragItem,但我收到了这个错误

Argument type 'CustomColor.Type' does not conform to expected type 'NSItemProviderWriting'

我也在添加我的结构类型

struct CustomColor {
    let color : UIColor!
    let name : String!    
}

此功能无效

func dragItem(for indexPath: IndexPath) -> UIDragItem {
    let color = colorDetails[indexPath.row]
    let itemProvider = NSItemProvider(object: CustomColor )
    let dragItem = UIDragItem(itemProvider: itemProvider)
    dragItem.localObject = color
    return dragItem    
}

当我将 CustomColor 放在 NSItemProvider 旁边时,它给了我那个错误。如果有人解决了或知道解决方案,请帮助我。

为了参考,我看到了这个答案。

在有人将其标记为重复之前提出一个请求,请检查我们是否面临不同的问题。 提前致谢。

您需要传递 UIColor 的实例,而不是 CustomColor 的 class。

试试这个:

func dragItem(for indexPath: IndexPath) -> UIDragItem {
   let color = colorDetails[indexPath.row]
   let itemProvider = NSItemProvider(object: color.color)
   let dragItem = UIDragItem(itemProvider: itemProvider)
   dragItem.localObject = color
   return dragItem

}