2016-09-14 2 views
0

Я хранящее значение от ответа Json какПолучить только строковое значение из NSArray выхода

self.NameArray = self.attachmentsArray.valueForKey("filename") as! NSArray 

Выход:

NameArray(("Din.pdf","img.jpeg"),(),(),("41_58")) 

Я получил этот вывод. Мне нужно, чтобы массив имел только ("Din.pdf","img.jpeg","41_58").

Как получить его с помощью быстрого кода?

+0

Каков тип вашего 'NameArray'? –

+0

Не дублируется. Это?? –

+0

NameArray находится в NSArray –

ответ

1
  • Преобразовать NSArray Свифт Тип [[String]]:

    let NameArray:NSArray = [["Din.pdf","img.jpeg"], [], [], [ "41_58" ]] 
    
    let swiftArray = NameArray as! [[String]] 
    
    let flattenedArray = swiftArray.flatMap{ $0 } 
    

Кредиты: Eric Aya и Flatten a Array of Arrays in Swift

  • Если вы не хотите, чтобы преобразовать его в Swift Тип:

    let NameArray:NSArray = [["Din.pdf","img.jpeg"], [], [], [ "41_58" ]] 
    
    let arrFiltered:NSMutableArray! = [] 
    
    for arr in NameArray { 
        for a in arr as! NSArray { 
         arrFiltered.addObject(a) 
        } 
    } 
    
    print(arrFiltered) 
    
+0

Спасибо @ Mr.UB Отлично работает ... –

Смежные вопросы