Не могу развернуть / залить в Swift 3

Я использую Диаграммы библиотеки ios ( https://github.com/danielgindi/Charts)

Там объявлена ​​функция делегата chartValueSelected, который возвращает мне entry: ChartDataEntry,

Итак, я получаю entry, с этими dataобъявлен как var data: AnyObject?

print(entry.data)
> Optional(Optional(<MyProject.Stop: 0x6000002c5cc0> (entity: Stop; id: 0xd00000000c980010 <x-coredata://5F54CCEC-11FB-42F1-BDFE-30F7F7E18614/Stop/p806> ; data: { ...  })))

print(type(of: entry.data))
> Optional<AnyObject>

Это странно? Я назначил это не обязательно? Ну, это может быть ошибка в библиотеке, но я должен хотя бы иметь возможность получить к ней доступ?

guard let e = stopEntry as? Stop else {
    continue
}

yVal.append(BarChartDataEntry(value: e.duration!.doubleValue, xIndex: i, data: e))

Ну, мы в порядке с ?? двойной необязательно.. Но что? Почему мы не можем его развернуть?

if let hasObject = entry.data {
    print("We have object: \(type(of: hasObject))")
    > We have object: _SwiftValue
    if let stopObject = hasObject as? Stop {
        print("We have a stop object!!") // Doesnt come here
    }
}

Больше вещей, которые не работают:

if let s = entry.data, let b = s as? Stop {
    // Not executed here either
}

0 ответов

Другие вопросы по тегам