将不同的 google 个地点归为一类
Group different google places categories into one
我创建了这个函数
static func getCategories() -> [QCategoryy] {
let list:[QCategoryy] = [QCategoryy(name: "bar", image: UIImage(named: "food box.png")!), QCategoryy(name :"night_club", image: UIImage(named: "accessories box.png")!), QCategoryy(name: "gym", image: UIImage(named: "jewellery box.png")!), QCategoryy(name: "spa", image: UIImage(named: "beauty box.png")!), QCategoryy(name: "museum", image: UIImage(named: "history box.png")!)]
return list
}
从 google 个地方 API、https://developers.google.com/places/supported_types 获取不同类别的列表,但我想做的是将更多类别分组为一个类别,例如
let list:[QCategoryy] = [QCategoryy(name: "bar, restaurant, cafè", image: UIImage(named: "food box.png")!)
我该怎么做?我的意思是我必须如何编写它才能使其工作?
您可以制作一个辅助函数来简化该代码。像这样:
struct Category {
let name: String
let image: UIImage?
}
func categories(named names: [String], image: UIImage? = UIImage(named: "image")) -> [Category] {
return names.map() { name in
return Category(name: name, image: image)
}
}
然后你可以这样称呼它:
let list = categories(named: ["a","b","c"]) //Uses default image value specified in the function declaration
let secondList = categories(named: ["a","b","c"], image: UIImage(named: "food box.png"))
显然,您可以使用所需的 QCategory 类型,而不是使用该 Category 结构。
如果图像不是 QCategory 的可选 属性,您可能需要使该参数成为 categories(_:,_:) 所必需的,或者在函数体中防止它出现。
我创建了这个函数
static func getCategories() -> [QCategoryy] {
let list:[QCategoryy] = [QCategoryy(name: "bar", image: UIImage(named: "food box.png")!), QCategoryy(name :"night_club", image: UIImage(named: "accessories box.png")!), QCategoryy(name: "gym", image: UIImage(named: "jewellery box.png")!), QCategoryy(name: "spa", image: UIImage(named: "beauty box.png")!), QCategoryy(name: "museum", image: UIImage(named: "history box.png")!)]
return list
}
从 google 个地方 API、https://developers.google.com/places/supported_types 获取不同类别的列表,但我想做的是将更多类别分组为一个类别,例如
let list:[QCategoryy] = [QCategoryy(name: "bar, restaurant, cafè", image: UIImage(named: "food box.png")!)
我该怎么做?我的意思是我必须如何编写它才能使其工作?
您可以制作一个辅助函数来简化该代码。像这样:
struct Category {
let name: String
let image: UIImage?
}
func categories(named names: [String], image: UIImage? = UIImage(named: "image")) -> [Category] {
return names.map() { name in
return Category(name: name, image: image)
}
}
然后你可以这样称呼它:
let list = categories(named: ["a","b","c"]) //Uses default image value specified in the function declaration
let secondList = categories(named: ["a","b","c"], image: UIImage(named: "food box.png"))
显然,您可以使用所需的 QCategory 类型,而不是使用该 Category 结构。
如果图像不是 QCategory 的可选 属性,您可能需要使该参数成为 categories(_:,_:) 所必需的,或者在函数体中防止它出现。