Skip to content

Instantly share code, notes, and snippets.

@DenTelezhkin
Created September 23, 2020 14:01
Show Gist options
  • Save DenTelezhkin/ca98f057cd0c62c9a9f309274f3302a9 to your computer and use it in GitHub Desktop.
Save DenTelezhkin/ca98f057cd0c62c9a9f309274f3302a9 to your computer and use it in GitHub Desktop.
StateObject alternative on iOS 13 / macOS Catalina
import SwiftUI
protocol ViewModelContainable: View {
associatedtype ViewModel : ObservableObject
init(model: ViewModel)
}
// This struct is a direct MVVM alternative to @StateObject in iOS 14 and Mac OS Big Sur.
struct StateWrapped<U: ViewModelContainable, T> : View
where U.ViewModel == T
{
@State var model: T
var body : some View {
U(model: model)
}
}
@Amzd
Copy link

Amzd commented Jun 10, 2021

If you just want a propertyWrapper that simply replaces @StateObject: https://gist.github.com/Amzd/8f0d4d94fcbb6c9548e7cf0c1493eaff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment