Swift 表达式类型是不明确的,在返回“0”的函数上没有更多上下文;“一些观点”;

Swift 表达式类型是不明确的,在返回“0”的函数上没有更多上下文;“一些观点”;,swift,xcode,swiftui,Swift,Xcode,Swiftui,我试图在Swift中生成一个包含函数和数组的按钮列表。如果我硬编码每个值,它会按预期输出,但为了节省空间,我想使用一个函数生成列表,然后返回some View。我遇到的问题是我得到了错误: 表达式类型不明确,没有更多上下文 运行时: func socialButtons() -> some View { let buttons = [ (icon: "twitter", url: "https://twitter.com/joe_sco

我试图在Swift中生成一个包含函数和数组的按钮列表。如果我硬编码每个值,它会按预期输出,但为了节省空间,我想使用一个函数生成列表,然后返回
some View
。我遇到的问题是我得到了错误:

表达式类型不明确,没有更多上下文

运行时:

func socialButtons() -> some View {
    let buttons = [
        (icon: "twitter", url: "https://twitter.com/joe_scotto"),
        (icon: "instagram", url: "https://instagram.com/joe_scotto"),
        (icon: "youtube", url: "https://youtube.com/joe_scotto"),
        (icon: "reddit", url: "https://reddit.com/u/joe_scotto"),
        (icon: "email", url: "mailto:contact@joescotto.com"),
    ]
        
    return HStack {
        Group {
            ForEach(0 ..< buttons.count) { button in
                Link(destination: URL(buttons[button].url!), label: {
                    Image(buttons[button].icon)
                })
            }
        }
    }
}
func socialButtons()->一些视图{
让按钮=[
(图标:“twitter”,url:https://twitter.com/joe_scotto"),
(图标:“instagram”,url:https://instagram.com/joe_scotto"),
(图标:“youtube”,url:https://youtube.com/joe_scotto"),
(图标:“reddit”,url:https://reddit.com/u/joe_scotto"),
(图标:“电子邮件”,url:“邮件收件人:contact@joescotto.com"),
]
回钉{
团体{
ForEach(0..

错误具体地说是在我说的
return HStack{

SwiftUI只是错误地检测到了错误的位置-URL创建不正确

这是固定部分。使用Xcode 12.1/iOS 14.1进行测试

Link(destination: URL(string: buttons[button].url)!, label: {
    Image(buttons[button].icon)
})

额外的逗号array@cora:这不是问题。数组(或字典或集合)中最后一个元素后面的逗号在Swift中有效,例如,
让A=[1,2,3,]
@Martin R谢谢,很高兴知道