1

我正在使用第三方库,但遇到了我不理解的错误(我是 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]'”

任何想法?我已经进行了一些研究,但我无法解决这个问题。

4

1 回答 1

1

此问题已在0.7.3. 请使用最新版本。

于 2017-07-22T05:54:59.657 回答