Après avoir créé une sous-classe NSManagedObject
d'une entité Core Data, comment puis-je la rendre conforme au protocole NSItemProviderReading
? Le protocole a un initialiseur requis qui doit être déclaré directement dans la classe. Mais quel initialisateur désigné NSItemProviderReading
appel init(itemProviderData:, typeIdentifier:)
?Comment un objet NSManagedObject peut-il être conforme au protocole NSItemProviderReading?
C'est ce que j'ai ci-dessous:
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)
}
}
appelle self.init(context:)
vraiment la bonne façon d'aller là-bas?