import Foundation import CoreData extension Album { @nonobjc public class func fetchRequest() -> NSFetchRequest<Album> { return NSFetchRequest<Album>(entityName: "Album") } @NSManaged public var albumCoverImageData: Data? @NSManaged public var id: UUID? @NSManaged public var name: String? @NSManaged public var passwordProtected: Bool @NSManaged public var photos: NSSet? public var wrappedID: UUID { id! } public var wrappedAlbumCoverImageData: Data { albumCoverImageData! } public var wrappedName: String { name ?? "Unamed Album" } public var wrappedPasswordProtected: Bool { passwordProtected } public var photoArray: [Photo] { let set = photos as? Set<Photo> ?? [] return Array(set) } } // MARK: Generated accessors for photos extension Album { @objc(addPhotosObject:) @NSManaged public func addToPhotos(_ value: Photo) @objc(removePhotosObject:) @NSManaged public func removeFromPhotos(_ value: Photo) @objc(addPhotos:) @NSManaged public func addToPhotos(_ values: NSSet) @objc(removePhotos:) @NSManaged public func removeFromPhotos(_ values: NSSet) } extension Album : Identifiable { }