小编Yul*_*lia的帖子

如何将 NSManagedObject 转换为 NSItemProviderWriting/NSItemProviderReading?

我想实现将表格视图单元格拖动到“删除图标”上以将其删除的功能。

现在我的问题是如何将我的类型转换为 NSItemProviderWriting/NSItemProviderReading 以使用拖放。

我正在关注本教程:https://exploringswift.com/blog/creating-a-nsitemprovider-for-custom-model-class-drag-drop-api。虽然我失败了,但我仍然无法理解它是如何工作的。

它说类型“Task”不符合协议“Decodable”。(“Task”是我的自定义模型),我也不知道本教程中的“kUTTypeData”是什么......

任何人都可以帮助如何实施这些协议吗?

import Foundation
import CoreData

@objc(Task)
public class Task: NSManagedObject, NSItemProviderWriting, NSItemProviderReading, Codable {

    public override init(entity: NSEntityDescription, insertInto context: NSManagedObjectContext?) {
        <#code#>
    }

    required public init(from decoder:Decoder) throws {
        let values = try decoder.container(keyedBy: CodingKeys.self)
    }

    public static var writableTypeIdentifiersForItemProvider: [String] {
        return []
    }

    public func loadData(withTypeIdentifier typeIdentifier: String, forItemProviderCompletionHandler completionHandler: @escaping (Data?, Error?) -> Void) -> Progress? {

        let progress = Progress(totalUnitCount: 100)

        do {
            let encoder = JSONEncoder() …
Run Code Online (Sandbox Code Playgroud)

drag-and-drop swift

1
推荐指数
1
解决办法
739
查看次数

标签 统计

drag-and-drop ×1

swift ×1