Я пытаюсь присоединиться к элементам массива String через функцию сокращения. Пробовал немного, но я не могу понять, в чем проблема. Это то, что я считаю, должно делать трюк. Я также пробовал другие альтернативы, но учитывая огромное количество, я буду ждать ввода:
var genres = ["towel", "42"]
var jointGenres : String = genres.reduce(0, combine: { $0 + "," + $1 })
Ошибка:
..: 14:44: Невозможно вызвать '+' с помощью списка аргументов типа '(IntegerLiteralConvertible, объединить: (($ T6, ($ T6, $T7) → ($ T6, $T7) → $T5) → ($ T6, ($ T6, $T7) → $T5) → $T5, (($ T6, $T7) → ($ T6, $T7) → $T5, $T7) → (($ T6, $T7) → $T5, $T7) → $T5) → (($ T6, ($ T6, $T7) → $T5) → $T5, (($ T6, $T7) → $T5, $T7) → $T5) → $T5) '
Из моего понимания, $0 следует вывести как String, а $1, в сочетании с $0, также должно быть в виде String. Я не знаю, в чем дело с системой типов здесь. Любая идея?