我面临这个错误,我有一个结构,我想使它UIDragItem,但我得到了这个错误
参数类型'CustomColor.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边时,它给了我这个错误。如果有人解决了它或知道解决方案,请帮助我。
作为参考,我看到了这个答案。Argument type 'customClass.Type' does not conform to expected type 'NSItemProviderWriting'
一个请求之前,有人标记它复制,请做检查,我们都面临不同的问题。提前谢谢。
发布于 2018-02-02 18:01:09
您需要传递UIColor的实例,而不是CustomColor的类。
试试看:
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
}https://stackoverflow.com/questions/48588349
复制相似问题