Skip to content

Instantly share code, notes, and snippets.

@alirp88
Created June 21, 2019 08:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alirp88/613c31d5fa372a5d565f4605dfe5e497 to your computer and use it in GitHub Desktop.
Save alirp88/613c31d5fa372a5d565f4605dfe5e497 to your computer and use it in GitHub Desktop.
struct FavoriteNumber {
var number: Int
var isFavorite: Bool
init(_ number: Int) {
self.number = number
isFavorite = false
}
}
struct ContentView : View {
@State var numbers = (1...10).map(FavoriteNumber.init)
var body: some View {
NavigationView {
VStack {
List($numbers.identified(by: \.value.number)) { num in
Toggle(isOn: num.isFavorite) {
Text("I like the number \(num.value.number)")
}
}
Text("The sum of my favorite numbers is \(sum)")
.padding()
}
.navigationBarTitle(Text("My favorite numbers!"))
}
}
var sum: Int { numbers.filter { $0.isFavorite }.reduce(0) { $0 + $1.number } }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment