Я конвертирую какой-то «старый» код Swift в Swift 2.0 и сталкиваюсь с ошибкой, от которой не могу избавиться.
Моя функция получает массив типа (любого) и возвращает новый массив того же типа.
Этот код больше не работает в Swift 2.0:
func makePattern1<T>(var list: Array<T>) -> Array<T> {
let theType = list.dynamicType
var result = theType()
for i in 1..<list.count {
result.append(list[i])
result.append(list[i-1])
}
return result
}
выдает сообщение об ошибке: «Инициализация из значения метатипа должна явно ссылаться на 'init'».
Исправление кода с помощью: var result = theType.init()
дает ошибку «Тип выражения неоднозначен без дополнительного контекста».
> Что я упускаю?
map
. - person Code Different   schedule 08.12.2015var result = Array<T>()
? - person 0x416e746f6e   schedule 08.12.2015var result = Array<T>()
отлично работает, спасибо. - person popisar   schedule 08.12.2015map
? - person popisar   schedule 08.12.2015