gpt4 book ai didi

ios - 如何将 UIImage、UILabel 和 UIView 内容映射到 Swift 中的字符串?

转载 作者:行者123 更新时间:2023-11-28 12:15:43 25 4
gpt4 key购买 nike

从 API 调用中接收到一个 String。这个字符串基本上定义了UIImageUILabelUIView 的标签。可以从此 API 调用接收 9 种类型的字符串。我有以下代码来映射这些:

struct Map{
var image : UIImage!
var title : String!

func getProperties(stringFromAPI : String) {
switch stringFromAPI {
case "fireFS":
self.image = UIImage(string: "fireFS")
self.title = "Fire"
case "chromeFS":
self.image = UIImage(string: "chrome_FS_1")
self.title = "Chromatic"
default:
break
}
} }

是否有一种有效的方法可以在枚举中设置所有这些属性并在全局范围内检索它?任何帮助将不胜感激和支持。谢谢。

最佳答案

您可以定义一个全局字典,例如:

struct ExampleDict {
static let data: [String: [String: Any]] = [
"fireFS": [
"imageName": "fireFS",
"title": "Fire"
],

"chromeFS": [
"imageName": "chrome_FS_1",
"title": "Chromatic"
]
]
}

在这里,您将每个元组的键设置为您希望从 API 获得的字符串,即 stringFromAPI。然后您可以在其中添加 imageName、title 和任何其他元组。

要从字典中检索值,只需像数组一样对其下标:

if let imageName = ExampleDict.data["chromeFS"]?["imageName"] {
print(imageName)
}

现在,让我们将其与您现有的代码集成:

func getProperties(stringFromAPI : String) {

if let imageName = ExampleDict.data[stringFromAPI]?["imageName"] {
print(imageName)
}

if let imageTitle = ExampleDict.data[stringFromAPI]?["title"] {
print(imageTitle)
}
}

让我们试试这个......

getProperties(stringFromAPI: "fireFS")

/// Output
// fireFS
// Fire

getProperties(stringFromAPI: "chromeFS")

/// Output
// chrome_FS_1
// Chromatic

关于ios - 如何将 UIImage、UILabel 和 UIView 内容映射到 Swift 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46699795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com