2016-04-17 4 views
1

Это может быть очень глупый вопрос, но я не могу найти ответ. У меня есть этот кусок кода, который преобразует ввод чисел в парном разряде:Невозможно преобразовать значение типа '[Double]' в ожидаемый тип аргумента 'Double'

var array: [Double]! = [] 
data = try String(contentsOfFile: localFilePath as String, 
         encoding: NSASCIIStringEncoding) 

let myStrings = data.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet()) 

var trial = myStrings[0].componentsSeparatedByString(",").flatMap{Double($0.stringByTrimmingCharactersInSet(.whitespaceCharacterSet()))} 

array.append(trial) 

Так, например, если мой файл имеет эти числа 1.2,3.4,5.6, то выход будет [1.2,3.4,5.6] и так далее. Я получаю ошибку выше, когда я пытаюсь добавить свой массив, каков правильный способ сделать это? Спасибо.

+2

Подсказка: в Xcode, сделайте ALT + CLICK на метод/свойства/имя переменной, вы увидите его подпись/тип. Смотрит на карту FlatMap и ваш пробный номер. Вы увидите что-то интересное. – Moritz

ответ

2

То, что вы ищете, это appendContentsOf, а не append.

flatMap возвращает [Double], и вы хотите добавить содержимое, что массив в array.

Просто изменить

array.append(trial) 

к:

array.appendContentsOf(trial) 
+0

Большое вам спасибо :) – user3395936

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

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