我在有一个结构的地方遇到了这个错误,我想把它变成 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 旁边时,它给了我那个错误。如果有人解决了它或知道解决方案,请帮助我。
作为引用,我看到了这个答案。 Argument type 'customClass.Type' does not conform to expected type 'NSItemProviderWriting'
在有人将其标记为重复之前的一个请求,请检查我们是否面临不同的问题。 提前致谢。
最佳答案
您需要传递 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
}
关于ios - Swift 4 参数类型不符合预期类型 'NSItemProviderWriting',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48588349/