【发布时间】:2020-09-14 14:01:37
【问题描述】:
我收到来自服务器的 JSON 响应,并在屏幕上显示电话号码。
现在用户可以更改/更新任何电话号码,因此我们必须更新同一对象中的特定手机号码并将其发送到服务器。
"phone_numbers": [
{
"type": "MOBILE",
"number": "8091212121"
},
{
"type": "HOME",
"number": "4161212943"
},
{
"type": "BUSINESS",
"number": "8091212344"
}
]
我的模型类是这样的:
public struct Contact: Decodable {
public let phone_numbers: [Phone]?
}
public struct Phone: Decodable {
public let type: PhoneType?
public let number: String?
}
我正在努力为特定电话号码更新此 JSON 对象。
例如,如果我只想在上面的数组中更新 BUSINESS 编号,那么最好的方法是什么。 我正在使用 XCode 11 和 Swift 5。
【问题讨论】:
-
不是输入字符串吗?为什么将其声明为 PhoneType ?你被困在哪里了?请展示您的尝试。
-
没有。它不是字符串,它是来自服务器的所有预期电话号码类型的枚举。基于
Type,我们确定要更新的号码。后端也使用类似的逻辑来识别。 -
我一直在更新这本词典。如前所述,例如,如果用户输入 BUSINESS 类型的新手机号码,我如何在数组中找到该对象并替换现有号码?
-
您想在哪里更新号码?在您存储此 json 的数组中?
-
您的问题缺少很多可以帮助我们回答的细节,所以对您来说显而易见的事情可能对那些试图帮助您的人来说不是。我试图在字里行间阅读并猜测您的问题可能是什么,但我真的不知道我的回答是否解决了您的问题,或者您是否完全陷入了其他问题。为获得最佳结果,不要只说“我在挣扎”,而是向我们展示一些未能完成您认为应该做的事情的代码。
标签: ios arrays swift xcode dictionary