Свифт 3 на Свифт 4 kishikawakatsumi/SpreadsheetView
Я использую стороннюю библиотеку, и я получаю ошибки, которые я не понимаю (я новичок в Swift).
Вот код:
final class ReusableCollection<Reusable>: Sequence where Reusable: NSObject {
var pairs = [Address: Reusable]()
var addresses = Set<Address>()
var objects: LazyMapCollection<[Address: Reusable], Reusable> {
return pairs.values
}
func contains(_ member: Address) -> Bool {
return addresses.contains(member)
}
@discardableResult
func insert(_ newMember: Address) -> (inserted: Bool, memberAfterInsert: Address) {
return addresses.insert(newMember)
}
func subtract(_ other: Set<Address>) {
addresses.subtract(other)
}
subscript(key: Address) -> Reusable? {
get {
return pairs[key]
}
set(newValue) {
pairs[key] = newValue
}
}
func makeIterator() -> LazyMapIterator<DictionaryIterator<Address, Reusable>, Reusable> {
return pairs.values.makeIterator()
}
На return pairs.values
Я получаю эту ошибку:
"Невозможно преобразовать возвращаемое выражение типа 'Dictionary.Values' в возвращаемый тип 'LazyMapCollection<[Address: Reusable], Reusable>'"
И в последней строке я получаю эту ошибку:
"Неоднозначная ссылка на член 'makeIterator()'"
Дальше больше у меня это:
let mergedCells = dataSource.mergedCells(in: self)
let mergedCellLayouts: [Location: CellRange] = { _ in
var layouts = [Location: CellRange]()
И вот я получаю эту ошибку:
"Невозможно преобразовать значение типа '(_) -> _' в указанный тип '[Location: CellRange]'"
Любая идея? Я провел некоторое исследование, но я не смог решить это.
1 ответ
Эта проблема была исправлена в 0.7.3
, Пожалуйста, используйте последнюю версию.