我有课程顺序:
class Order {
var type_id = ""
var model_id = ""
var hourly = serviceByHours()
var transfer = serviceByTransfer()
var custom = serviceByReis()
}
struct serviceByHours {
var undefinedTime = "1"
var addressOfRequest = ""
var addressOfDelivery = ""
var detailedText = ""
var startofWork = ""
var endOfWork = ""
}
struct serviceByTransfer {
var addressOfRequest = ""
var addressOfDelivery = ""
var detailedText = ""
var startofWork = ""
}
struct serviceByReis {
var addressOfRequest = ""
var addressOfDelivery = ""
var detailedText = ""
var startofWork = ""
var priceProposed = ""
}
我创建了这个类的实例并用值填充它。
在我创建Array: var singleOrderClass = Order();
之后
具有订单类型的var arrayOfOrders = [Order]
。
但是当我使用追加操作(arrayOfOrders.append(singleOrderClass))
我的所有元素都变得具有相同的价值。我不知道为什么会这样?
答案 0 :(得分:0)
我正在回答一个答案,因为我想为您的问题显示我输出的屏幕截图。我无法复制你所看到的。这个问题还有什么问题吗?
在你的(OP' s)评论之后,我通过以下捕获扩展了响应。一切都在发挥作用。由于数组是引用的集合,而不是数据的副本,因此您很可能以某种方式覆盖实例值。确保为附加到数组的每个元素实例化一个新的Order()类。不要简单地在append之间重用singleOrderClass而不先创建一个新的Order()对象。