После создания подкласса NSManagedObject
объекта Core Data, как я могу привести его в соответствие с протоколом NSItemProviderReading
? Протокол имеет обязательный инициализатор, который должен быть объявлен непосредственно в классе. Но какой назначенный инициализатор должен вызывать NSItemProviderReading
init(itemProviderData:, typeIdentifier:)
?
Вот что у меня ниже:
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:)
действительно правильно?