【发布时间】:2021-08-28 01:11:14
【问题描述】:
我的代码如下,
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 数组结构中的数据位置。 我们该怎么做 谢谢你
【问题讨论】:
-
请参阅:stackoverflow.com/q/40841663/3141234 遍历其中一个序列,您将可以访问可用于填写注册信息的成对数字
-
@Alexander 我在你的链接中使用了下面的代码``` for (left, right) in stride(from: 0, to: input.count - 1, by: 2) .lazy .map ( { (input[$0], input[$0+1]) } ) { print(left, right) } ```我怎样才能将左右分别存储到RegistrationInformation的左标题和右标题?
-
类似于你现在的做法:你有
regDatas.append(RegistrationInformation(leftTitle: "line\(left)", rightTitle: "line\(right)"))。您的基本问题是您创建的实例数量是您需要的两倍,并且每个实例都有两个字段之一"",这根本不是您想要的