Created
November 23, 2019 04:05
-
-
Save acwright/6dec0eb34a8d11c50d064dd43edb840e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
import CoreData | |
struct FetchedObjects<T, Content>: View where T : NSManagedObject, Content : View { | |
// MARK: - Properties | |
let content: ([T]) -> Content | |
var request: FetchRequest<T> | |
var results: FetchedResults<T>{ request.wrappedValue } | |
// MARK: - Lifecycle | |
init( | |
predicate: NSPredicate = NSPredicate(value: true), | |
sortDescriptors: [NSSortDescriptor] = [], | |
@ViewBuilder content: @escaping ([T]) -> Content | |
) { | |
self.content = content | |
self.request = FetchRequest( | |
entity: T.entity(), | |
sortDescriptors: sortDescriptors, | |
predicate: predicate | |
) | |
} | |
// MARK: - Body | |
var body: some View { | |
self.content(results.map { $0 }) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment