Get NSString from NSMutableArray on Swift

359 Views Asked by At

How can I get NSString from NSMutableArray created with NSStrings in a for loop? I want to store in one NSString, all elements of NSMutableArray. This is my code:

class Persona: NSObject {

    var edad: Int
    var altura: Double
    var nombre: NSString
    var apellido: NSString
    var cualidades: NSMutableArray

    init(edad:Int, altura:Double, nombre:NSString, apellido:NSString, cualidades:NSMutableArray){
        self.edad = edad
        self.altura = altura
        self.nombre = nombre
        self.apellido = apellido
        self.cualidades = cualidades
    }

    func addCualidad(cualidad:NSString){
        cualidades.addObject(cualidad)
    }

    func delCualidad(cualidad:NSString){
        cualidades.removeObject(cualidad)
    }

    func cualidadesToString() -> NSString{
        var string:NSString = ""
        for cualidad in cualidades{

            // TODO HERE
            cualidad...

        }
        return cualidad
    }

}

As you can see I want NSString returned in cualidadesToString() method.

1

There are 1 best solutions below

0
On BEST ANSWER

Try componentsJoinedByString

func cualidadesToString() -> NSString{
    return cualidades.componentsJoinedByString(",")
}

But you should use Swift's builtin String and Array types to make it more type-safe.

var cualidades = [String]()

func addCualidad(cualidad: String){
    cualidades.append(cualidad)
}

func delCualidad(cualidad: String){
    if let cindex = find(cualidades, cualidad) {
        cualidades.removeAtIndex(cindex)
    }
}

func cualidadesToString() -> String{
    return join(", ", cualidades)
}