使用简写参数名称 $0 在 ForEach 中为 SwiftUI 添加按钮

Posted

技术标签:

【中文标题】使用简写参数名称 $0 在 ForEach 中为 SwiftUI 添加按钮【英文标题】:Add Button by id for SwiftUI inside ForEach using shorthand argument name $0 【发布时间】:2019-12-19 17:01:42 【问题描述】:

如何在ForEach 中添加Button ?与Text 一起工作,但与Button 没有运气。想使用速记参数名$0

import SwiftUI

struct ContentView: View 

    let emojiMoves = ["????", "????", "✂️"]

    var body: some View 
        HStack 
            ForEach(emojiMoves, id: \.self) 
                Text($0)
            
        
    

这样的东西可以工作,但我喜欢 $0 的简单性

ForEach(0 ..< self.emojiMoves.count, id: \.self )  number in
                    Button(action: 
                        self.emojiMoves[(number)]
                    )   
                

【问题讨论】:

【参考方案1】:

你可以试试

ForEach(self.emojiMoves, id: \.self ) 
   Button($0)

   

【讨论】:

措辞像一个魅力,之前尝试过这种方法但忘记添加 .self ,谢谢!

以上是关于使用简写参数名称 $0 在 ForEach 中为 SwiftUI 添加按钮的主要内容,如果未能解决你的问题,请参考以下文章

简写函数字面量(function literal)

使用 vue js 时在 laravel 中为 foreach 提供的参数无效

为啥我在 Laravel 中为 foreach 提供无效的参数以进行 json 响应?

在 laravel 错误中为 foreach() 提供的参数无效(查看:我看不到 $value

请帮助:“在Wordpress中为foreach()提供了无效的参数”

如何在 foreach 循环中为 char 变量赋值? C#