Files
WorterBuch/WorterBuch/VocabularyEntry+Extensions.swift

62 lines
1.6 KiB
Swift

//
// VocabularyEntry+Extensions.swift
// WorterBuch
//
// Created by Oliver Hnát on 01.12.2025.
//
import Foundation
import PencilKit
import CoreData
extension VocabularyEntry {
// MARK: - German Word Drawing
var germanWordPKDrawing: PKDrawing {
get {
guard let data = germanWordDrawing else { return PKDrawing() }
return (try? PKDrawing(data: data)) ?? PKDrawing()
}
set {
germanWordDrawing = newValue.dataRepresentation()
}
}
// MARK: - German Explanation Drawing
var germanExplanationPKDrawing: PKDrawing {
get {
guard let data = germanExplanationDrawing else { return PKDrawing() }
return (try? PKDrawing(data: data)) ?? PKDrawing()
}
set {
germanExplanationDrawing = newValue.dataRepresentation()
}
}
// MARK: - English Translation Drawing
var englishTranslationPKDrawing: PKDrawing {
get {
guard let data = englishTranslationDrawing else { return PKDrawing() }
return (try? PKDrawing(data: data)) ?? PKDrawing()
}
set {
englishTranslationDrawing = newValue.dataRepresentation()
}
}
// MARK: - Convenience Initializer
static func create(in context: NSManagedObjectContext) -> VocabularyEntry {
let entry = VocabularyEntry(context: context)
entry.id = UUID()
entry.timestamp = Date()
entry.germanWordText = ""
entry.germanExplanationText = ""
entry.englishTranslationText = ""
return entry
}
}