ios - 如何更改结构数组中的数据?
问题描述
我的代码如下所示,
struct RegistrationInformation {
let leftTitle: String
let rightTitle: String
}
struct RegisterData{
let vValueL : String
}
var regDatas : [RegistrationInformation] = []
for i in 0...3 {
regDatas.append(RegistrationInformation(leftTitle: regData[i].vValue, rightTitle: ""))
}
for i in 4...7 {
regDatas.append(RegistrationInformation(leftTitle: "", rightTitle: regData[i].vValue))
}
//output of regDatas is
[Datas.RegistrationInformation(leftTitle: "line 1", rightTitle: ""),
Datas.RegistrationInformation(leftTitle: "line3", rightTitle: ""),
Datas.RegistrationInformation(leftTitle: "line5", rightTitle: ""),
Datas.RegistrationInformation(leftTitle: "line7", rightTitle: ""),
Datas.RegistrationInformation(leftTitle: "", rightTitle: "line2"),
Datas.RegistrationInformation(leftTitle: "", rightTitle: "line4"),
Datas.RegistrationInformation(leftTitle: "", rightTitle: "line6"),
Datas.RegistrationInformation(leftTitle: "", rightTitle: "line8")]
我想要的就像下面的regDatas
[Datas.RegistrationInformation(leftTitle: "line 1", rightTitle: "line2"),
Datas.RegistrationInformation(leftTitle: "line3", rightTitle: "line4"),
Datas.RegistrationInformation(leftTitle: "line5", rightTitle: "line6"),
Datas.RegistrationInformation(leftTitle: "line7", rightTitle: "line8")]
我想更改 regDatas 数组结构中的数据位置。我们该怎么做谢谢
解决方案
struct RegistrationInformation {
let leftTitle: String
let rightTitle: String
}
struct RegisterData{
let vValueL : String
}
var regData: [RegisterData] = [
RegisterData(vValueL: "line1"),
RegisterData(vValueL: "line2"),
RegisterData(vValueL: "line3"),
RegisterData(vValueL: "line4"),
RegisterData(vValueL: "line5"),
RegisterData(vValueL: "line6"),
RegisterData(vValueL: "line7"),
RegisterData(vValueL: "line8")
]
func compressData(elements: [RegisterData]) -> [RegistrationInformation]{
var regDatas : [RegistrationInformation] = []
for i in 0..<elements.count {
if i != (elements.count-1){
regDatas.append(RegistrationInformation(leftTitle: regData[i].vValueL, rightTitle: regData[i+1].vValueL))
}else{
regDatas.append(RegistrationInformation(leftTitle: regData[i].vValueL, rightTitle: ""))
}
}
return regDatas
}
print(compressData(elements: regData))