How to mount an array dynamically

0

I would like to make a func to return the array that follows, however I do not know the return type or how to dynamically mount this array:

vDataSource_Detalhe = NSArray(objects:
    NSArray(objects: "Cerveja 01","Cerveja 02"),
    NSArray(objects : "Refrigerante 01","Refrigerante 02","Refrigerante 03"),
    NSArray(objects : "Guarana 01","Guarana 02","Guarana 03","Gurana 04"),
    NSArray(objects : "Guaravita 01"),
    NSArray(objects : "Caipirinha 01","Caipirinha 02","Caipirinha 03"),
    NSArray(objects : "Coca-Cola 0'","Coca-Cola 02","Coca-Cola 03"),
    NSArray(objects : "Pepsi 01","Pepsi 02")
)

I would like the skeleton of the function to look like this:

func retorna(_ pQtd_Linhas : Int)-> ???????  /* 01 - como deve ficar estas interrogaçoes*/
{
    let vResultado = ???????();  /*02 como deve ficar estas interrogaçoes*/
    var vLinha : ??????;  /*03 como deve ficar estas interrogaçoes*/
    for A in 0...pQtdLinhas - 1
    {
        vLinha = ?????; /*04 como deve ficar estas interrogaçoes*/
        let C = Gerar_Qtd_Randomica();
        for B in 1...C
        {
            vItem = ????();  /*05 como deve ficar estas interrogaçoes*/
            vItem.append(Gerar_nome_randomico());
            vLinha.append(vItem)  /* é append mesmo??*/

        }
        vResultado.append(vLinha); /* é append mesmo??*/
    }
    return vResultado;
}
    
asked by anonymous 05.05.2017 / 20:49

1 answer

0

Well, I guess it depends. You can put in the [Any] return, which will serve the array of anything. BUT I do not know if this is what you need.

From your code, I think you just need a two-dimensional array of String, right? In this case, what you need to return is [[String]] and your vDataSource_Details can be:

vDataSource_Detalhe = [["Cerveja 01","Cerveja 02"], 
     ["Refrigerante 01","Refrigerante 02","Refrigerante 03"],
     ["Guarana 01","Guarana 02","Guarana 03","Gurana 04"],
     ["Guaravita 01"],
     ["Caipirinha 01","Caipirinha 02","Caipirinha 03"],
     ["Coca-Cola 0'","Coca-Cola 02","Coca-Cola 03"],
     ["Pepsi 01","Pepsi 02"]]
    
08.05.2017 / 16:30