tipos tipo puede operandos operador number metodos los grupo aplicar swift swift3

swift - number - el operador no se puede aplicar a operandos del tipo object y int



El operador unario ''-'' no se puede aplicar a un operando de tipo ''@lvalue Int?''(alias ''@lvalue Opcional<Int>'') (1)

La respuesta es muy simple. ++ y - se eliminó de Swift 3. Pero + = y - = permaneció

Acerca de Optional<Int> esta es una versión más larga para Int? definición. En Swift Opcional definido como public enum Optional<Wrapped> : ExpressibleByNilLiteral

Esta pregunta ya tiene una respuesta aquí:

Acabo de actualizar el código de mi aplicación a la última versión de Swift y tengo esta función:

func setupGraphDisplay() { //Use 7 days for graph - can use any number, //but labels and sample data are set up for 7 days //let noOfDays:Int = 7 //1 - replace last day with today''s actual data graphView.graphPoints[graphView.graphPoints.count-1] = counterView.counter //2 - indicate that the graph needs to be redrawn graphView.setNeedsDisplay() maxLabel.text = "/((graphView.graphPoints).max()!)" print((graphView.graphPoints).max()!) //3 - calculate average from graphPoints let average = graphView.graphPoints.reduce(0, +) / graphView.graphPoints.count averageWaterDrunk.text = "/(average)" //set up labels //day of week labels are set up in storyboard with tags //today is last day of the array need to go backwards //4 - get today''s day number //let dateFormatter = NSDateFormatter() let calendar = Calendar.current let componentOptions:NSCalendar.Unit = .weekday let components = (calendar as NSCalendar).components(componentOptions, from: Date()) var weekday = components.weekday let days = ["S", "S", "M", "T", "W", "T", "F"] //5 - set up the day name labels with correct day for i in (1...days.count).reversed() { if let labelView = graphView.viewWithTag(i) as? UILabel { if weekday == 7 { weekday = 0 } labelView.text = days[(weekday--)!] if weekday! < 0 { weekday = days.count - 1 } } } }

Sin embargo, recibo un mensaje de error en la siguiente línea:

labelView.text = days[(weekday--)!]

Donde Xcode me está dando el siguiente error:

Unary operator ''--'' cannot be applied to an operand of type ''@lvalue Int?'' (aka ''@lvalue Optional<Int>'')

Traté de buscar respuestas en línea, pero todavía no pude encontrar nada que me ayudaría a solucionar este error.

También me @lvalue Int (aka ''@lvalue Optional<Int>'') qué significa exactamente el mensaje de error por tipo @lvalue Int (aka ''@lvalue Optional<Int>'') . Nunca antes había visto este tipo de datos y no sé cómo resolver el problema en consecuencia.

Gracias por adelantado.