Преобразувам някакъв „стар“ 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