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

标签 ios swift3 swift4

我在有一个结构的地方遇到了这个错误,我想把它变成 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/

相关文章:

ios - 以编程方式子类化 UIButton?

iphone - 在 Xcode 中设置联系表单

objective-c - swift 3 : stringByReplacingCharactersInRange alternatives

swift - NSTextField 边距和填充? ( swift )

swift - regex.matches 方法匹配和计数错误

ios - JavaScript 无法在 iOS 的 WKWebView 中工作

swift - 在动态类型/对象上使用 Codable

ios - 无法将类型 '__NSDictionaryM' 的值转换为 'NSArray"

ios - 删除空的十进制值 Swift 3

ios - Xcode 4.3.2 绕过代码签名