Make XcodeListViewRow.appState a normal property

It doesn't need to be a DynamicProperty because it only invokes its methods.
This commit is contained in:
Brandon Evans 2021-02-04 21:03:47 -07:00
parent 70ca8c37bf
commit 70872f441a
No known key found for this signature in database
GPG key ID: D58A4B8DB64F8E93
2 changed files with 18 additions and 8 deletions

View file

@ -32,7 +32,7 @@ struct XcodeListView: View {
var body: some View {
List(visibleXcodes, selection: $selectedXcodeID) { xcode in
XcodeListViewRow(xcode: xcode, selected: selectedXcodeID == xcode.id)
XcodeListViewRow(xcode: xcode, selected: selectedXcodeID == xcode.id, appState: appState)
}
}
}

View file

@ -3,9 +3,9 @@ import SwiftUI
import Version
struct XcodeListViewRow: View {
@EnvironmentObject var appState: AppState
let xcode: Xcode
let selected: Bool
let appState: AppState
var body: some View {
HStack {
@ -112,29 +112,39 @@ struct XcodeListViewRow_Previews: PreviewProvider {
Group {
XcodeListViewRow(
xcode: Xcode(version: Version("12.3.0")!, installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: true, icon: nil),
selected: false
selected: false,
appState: AppState()
)
XcodeListViewRow(
xcode: Xcode(version: Version("12.2.0")!, installState: .notInstalled, selected: false, icon: nil),
selected: false
selected: false,
appState: AppState()
)
XcodeListViewRow(
xcode: Xcode(version: Version("12.1.0")!, installState: .installing(.downloading(progress: configure(Progress(totalUnitCount: 100)) { $0.completedUnitCount = 40 })), selected: false, icon: nil),
selected: false
selected: false,
appState: AppState()
)
XcodeListViewRow(
xcode: Xcode(version: Version("12.0.0")!, installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: false, icon: nil),
selected: false
selected: false,
appState: AppState()
)
XcodeListViewRow(
xcode: Xcode(version: Version("12.0.0+1234A")!, installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: false, icon: nil),
selected: false
selected: false,
appState: AppState()
)
XcodeListViewRow(
xcode: Xcode(version: Version("12.0.0+1234A")!, identicalBuilds: [Version("12.0.0-RC+1234A")!], installState: .installed(Path("/Applications/Xcode-12.3.0.app")!), selected: false, icon: nil),
selected: false,
appState: AppState()
)
}
.environmentObject(AppState())
}
}