Post

Replies

Boosts

Views

Activity

Blurred selected button on tvOS
The following code shows that a selected button in a list gots blurred if a glass effect is applied to the list. This happens if the button style is plain or glass. It does not happen if the button style is bordered. Is this a wanted documented behavior or is this a bug? struct ContentView: View { @State private var items = [ "Item 1", "Item 2", "Item 3", "Item 4"] var body: some View { ZStack { Image(systemName: "globe") .resizable() List(items, id: \.self) { item in Button(action: {}, label: { Text(item) }) } .padding() .glassEffect(in: Rectangle()) } } }
2
0
52
1w
Two `async let` do not run the calculation in parallel
The following program should run the function longCalculation twice in parallel if the button is pressed. But the function is called twice in sequence instead. struct ContentView: View {     @State private var result: Int = 0     var body: some View {         VStack {             Text("Result: \(result)")             Button {                 async {                     async let result1 = longCalculation()                     async let result2 = longCalculation(                     self.result = await result1 + result2                     print("[end] action / is on main: \(Thread.current.isMainThread)")                 }             } label: {                 Text("Button")             }         }     } } fileprivate func longCalculation() async -> Int {     print("[start] longCalculation / is on main thread: \(Thread.current.isMainThread)")     var c = 0     for _ in 0...10000000 {         c += Int.random(in: 0...100)         c = c % 13     }     print("[end] longCalculation / is on main thread: \(Thread.current.isMainThread)")     return c } According to the output the calls are still in sequence. Why does this happen? The two async let assignments should create two child tasks. Did I miss something? > [start] longCalculation / is on main thread: false > [end] longCalculation / is on main thread: false > [start] longCalculation / is on main thread: false > [end] longCalculation / is on main thread: false > [end] action / is on main: true
3
0
993
Jun ’21