创建核心数据实体的NSManagedObject
子类后,如何才能使其符合NSItemProviderReading
协议?该协议有一个必需的初始化程序,必须在类中直接声明。但是哪个指定的初始化程序应该调用NSItemProviderReading
的init(itemProviderData:, typeIdentifier:)
?NSManagedObject如何符合NSItemProviderReading协议?
这是我在下面:
import Foundation
import CoreData
@objc(Something)
public class Something: NSManagedObject, NSItemProviderReading {
public override init(entity: NSEntityDescription, insertInto context: NSManagedObjectContext?) {
super.init(entity: entity, insertInto: context)
}
// MARK: - Item Provider Reading
public static var readableTypeIdentifiersForItemProvider: [String] {
return []
}
public required init(itemProviderData data: Data, typeIdentifier: String) throws {
// This seems very hack-y…
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
self.init(context: context)
}
}
呼唤self.init(context:)
真的去这里的路吗?