我创建了一个称为Evento的类,其中每个元素对应于学校的测试或家庭作业,然后为一年中的每一天创建一个类型为[Evento]的变量。例如,一月的每一天(西班牙语为Enero)
class Evento: CustomStringConvertible{
var mes: String
var dia: String
var asignatura: String
var descripcion: String
init(mes: inout String, dia: inout String, asignatura: inout String, descripcion: inout String) {
self.mes = mes
self.dia = dia
self.asignatura = asignatura
self.descripcion = descripcion
}
var description: String {
return "Evento(mes: \(mes), dia: \(dia), asignatura: \(asignatura), descripcion: \(descripcion)"
}
}
var eventos1Febrero: [Evento] = []; var eventos2Febrero: [Evento] = []; var eventos3Febrero: [Evento] = []; var eventos4Febrero: [Evento] = [];
var eventos5Febrero: [Evento] = []; var eventos6Febrero: [Evento] = []; var eventos7Febrero: [Evento] = []; var eventos8Febrero: [Evento] = [];
var eventos9Febrero: [Evento] = []; var eventos10Febrero: [Evento] = []; var eventos11Febrero: [Evento] = []; var eventos12Febrero: [Evento] = [];
var eventos13Febrero: [Evento] = []; var eventos14Febrero: [Evento] = []; var eventos15Febrero: [Evento] = []; var eventos16Febrero: [Evento] = [];
var eventos17Febrero: [Evento] = []; var eventos18Febrero: [Evento] = []; var eventos19Febrero: [Evento] = []; var eventos20Febrero: [Evento] = [];
var eventos21Febrero: [Evento] = []; var eventos22Febrero: [Evento] = []; var eventos23Febrero: [Evento] = []; var eventos24Febrero: [Evento] = [];
var eventos25Febrero: [Evento] = []; var eventos26Febrero: [Evento] = []; var eventos27Febrero: [Evento] = []; var eventos28Febrero: [Evento] = [];
然后,我创建了一个函数,将这些变量的数组作为inout参数,当我尝试调用它时,它将打印消息“无法将类型为[[Evento]]的不可变值作为inout参数” < / p>
func appendNuevoEvento(dia: String, eventosDelMes: inout [[Evento]] , mes: String = nuevoMes) {
let diaIndexPath: Int = Int(dia)! - 1
let intDia: Int = Int(dia)
if mes.has31Days() {
switch intDia {
case 1...31:
eventosDelMes[diaIndexPath].append(nuevoEvento)
default:
print("Creating an amazing and advanced function!")
}
}
else if mes.has30Days() {
switch intDia {
case 1...30:
eventosDelMes[diaIndexPath].append(nuevoEvento)
default:
print("Hope it works!")
}
}
else if mes.isFebrero() {
switch intDia {
case 1...28:
eventosDelMes[diaIndexPath].append(nuevoEvento)
default:
print("I really do!")
}
}
}
appendNuevoEvento(dia: "22", eventosDelMes: &[eventos1Enero, eventos2Enero, eventos3Enero, eventos4Enero, eventos5Enero, eventos6Enero, eventos7Enero, eventos8Enero, eventos9Enero, eventos10Enero, eventos11Enero]) ***Cannot pass immutable value of type '[[Evento]]' as inout argument***