Swift/Xcode:多个Returns到数组

Swift/Xcode: Multiple Returns to Array

我的代码有问题。所以我有这些 HealthKit 对象,我试图 return 稍后在我的代码中显示为小部件。

import Foundation

struct Activity: Identifiable {
   var id: String
   var name: String
   var image: String

    static func allActivities() -> [Activity] {
       return[Activity(id:"bloodAlcoholContent", name:"BAC: ", image: "")]
       return[Activity(id:"heartRate", name:"Heart Rate: ", image: "❤️ ")]
       return[Activity(id:"oxygenSaturation", name:"Blood Oxygen: ", image: "")]
       return[Activity(id:"respiratoryRate", name:"Respiratory Rate: ", image: "")]
       return[Activity(id:"numberOfAlcoholicBeverages", name:"Units Consumed: ", image: "")]
    }
}

Xcode 警告我这个 return 值不会处理它之后的代码,在构建应用程序时我可以在构建项目后看到它的含义。仅给出第一个 return 值,因此仅显示 BAC 小部件。而其余的则不是。

知道如何执行多个 return 吗?

你的语法完全错误。要创建 Array,您需要在单个 [].

中包含以逗号分隔的元素

对于 Array 本身,您只需要一个 return 语句(如果您的函数只包含一个表达式,您实际上可以省略它)。

static func allActivities() -> [Activity] {
    return [
            Activity(id:"bloodAlcoholContent", name:"BAC: ", image: ""),
            Activity(id:"heartRate", name:"Heart Rate: ", image: "❤️ "),
            Activity(id:"oxygenSaturation", name:"Blood Oxygen: ", image: ""),
            Activity(id:"respiratoryRate", name:"Respiratory Rate: ", image: ""),
            Activity(id:"numberOfAlcoholicBeverages", name:"Units Consumed: ", image: "")
        ]
    }