Как решить эту проблему?Подзаголовок a Произвольный тип generics: ошибка: не может индексировать значение типа '[T]'
protocol Mappable {
...
}
class Foo {
item:AnyObject
}
class SomeClass<T:Mappable> {
var someObject = Foo()
var items:[T]
...
func someFunction() {
someObject.item = items[index] // error: Cannot subscript a value of type '[T]'
}
Я пытался добавить расширение для индексации [T]
, но не в состоянии:
extension Array where Element:Mappable {
subscript(index: Int) -> Element? {
return indices ~= index ? self[index] : nil
}
}
UPDATE: Это сообщение об ошибке в заблуждение, пожалуйста, см ответы ниже
Сообщение об ошибке вводит в заблуждение. Просто добавьте возвращаемый тип в метод. Расширение не требуется. – vadian
Пожалуйста, не добавляйте ответ на вопрос. Формат SO - это вопрос + ответ (ы). – Cristik