Estoy tratando de índice en una matriz de funciones, pero me sale el error: «Expresión se resuelve en un boleto de l-valor». He tratado de google lo que esto significa, pero la información es escasa y lo que me parece no estar relacionado. ¿Alguien sabe qué estoy haciendo mal aquí? Cualquier ayuda sería muy apreciada ! Gracias.

 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    var cell:UITableViewCell = myTableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
    var chart =  cell.contentView.viewWithTag(42) as TKChart
    chart.delegate = self
    chart.removeAllData(); //needed because of cell recycling

    var userDef1 = 1
    var userDef2 = 1

    func lineChart() -> TKChart {...}
    func columnChart() -> TKChart {...}

    var chartsArray = [AnyObject]()


    if userDef1 == 1{
        chartsArray.append(lineChart())
    }


    if userDef2 == 1{
        chartsArray.append(columnChart())
    }


     if indexPath.row == 0{
        chartsArray[0]  **error: Expression resolves to an unused l-value**
    }


    if indexPath.row == 1{
        chartsArray[1]   **error: Expression resolves to an unused l-value**
    }

    return cell
}
  • El chartsArray[i] devuelve un valor que no está siendo utilizado. Swift piensa que es un error porque el lado izquierdo de valor de la expresión en el si condicional no está siendo utilizado.
InformationsquelleAutor KML | 2015-01-31

2 Comentarios

  1. 10

    chartsArray[0] es otros análogos para escribir el resultado de lineChart(); es la identificación de un valor, pero en realidad no hacer nada con él.

    • Ok, pero si yo escribo sólo lineChart() evalúa, en el gráfico se dibuja sin errores. ¿Cómo puedo obtener el mismo resultado mediante el uso de una matriz?
    • trate de chartsArray[0]() tienes Que guardar el tipo de función en la matriz y de retorno y de invocar, para que funcione correctamente
  2. 1
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    
        var cell:UITableViewCell = myTableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
        var chart =  cell.contentView.viewWithTag(42) as TKChart
        chart.delegate = self
        chart.removeAllData(); //needed because of cell recycling
    
        var userDef1 = 1
        var userDef2 = 1
    
        func lineChart() -> TKChart {...}
        func columnChart() -> TKChart {...}
    
        var chartsArray = [AnyObject]()
    
    
        if userDef1 == 1{
            chartsArray.append(lineChart)
       }
    
    
        if userDef2 == 1{
            chartsArray.append(columnChart)
        }
    
    
         if indexPath.row == 0{
            chartsArray[0]()  
        }
    
    
        if indexPath.row == 1{
            chartsArray[1]()   
        }
    
         return cell
    }
    • Muchas gracias por su respuesta. Ya que tanto le dio a la misma solución correcta, tengo que seleccionar la primera respuesta como la respuesta «correcta». Gracias

Dejar respuesta

Please enter your comment!
Please enter your name here