UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

Rendering changes to a FetchedResult relation

Forums > SwiftUI

Hi all,

I have a couple of views, 1 renders a list of FetchedResult user objects, and uses a NavigationLink, passing each user as a parameter to the sub-view.

Inside the subview, I have:

var user: User

var fetchRequest: FetchRequest<UserSession>
var userSessions: FetchedResults<UserSession> {
    fetchRequest.wrappedValue
}

init(child: User) {
    self.child = user

    fetchRequest = FetchRequest(
        entity: UserSession.entity(),
        sortDescriptors: [NSSortDescriptor(keyPath: \UserSession.createdAt, ascending: false)],
        predicate: NSPredicate(format: "user == %@", child)
    )
}

Should I pass the User object to the sub-view as an environment object and do away with the additional FetchRequest in the sub-view? Didn't feel right doing it that way, but I'm not sure on the 'proper' approach.

many thanks!

2      

BUILD THE ULTIMATE PORTFOLIO APP Most Swift tutorials help you solve one specific problem, but in my Ultimate Portfolio App series I show you how to get all the best practices into a single app: architecture, testing, performance, accessibility, localization, project organization, and so much more, all while building a SwiftUI app that works on iOS, macOS and watchOS.

Get it on Hacking with Swift+

Sponsor Hacking with Swift and reach the world's largest Swift community!

Archived topic

This topic has been closed due to inactivity, so you can't reply. Please create a new topic if you need to.

All interactions here are governed by our code of conduct.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.