Свифт 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, Пожалуйста, используйте последнюю версию.

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