gpt4 book ai didi

swift - 我在调用“for cache”时收到关于 "Extra argument ' forKey' 的错误

转载 作者:可可西里 更新时间:2023-11-01 01:49:21 26 4
gpt4 key购买 nike

我使用了“Nothing but Cache”的“HybridCache”。

但这不能用于 Swift4。所以我改为“存储”。

这部分代码得到了这个错误信息

Extra argument in call

这些是加载一些数据的代码。

    func object(for key: String) -> Observable<SwiftyJSON.JSON?> {
return Observable.create { [weak self] observer in

self?.cache?.object(key) { (data: Data?) in <-- Error massage for "key"
guard let data = data else {
observer.onNext(nil)
observer.onCompleted()
return
}

Async.userInteractive {
let json = SwiftyJSON.JSON(data: data)

Async.main {
if let error = json.error {
observer.onError(error)
} else {
observer.onNext(json)
}
observer.onCompleted()
}
}
}

return Disposables.create()
}
}

不知道怎么解决缓存是这个。

    fileprivate let cache = try? Storage(
diskConfig: DiskConfig(name: "ReadGirl.JSONCache"),
memoryConfig: MemoryConfig(expiry: .never, countLimit: 10, totalCostLimit: 10),
transformer: TransformerFactory.forCodable(ofType: Data.self) // Storage<User>
)

最佳答案

我自己固定的。

self?.cache?.async.object(forKey: key) { result in
switch result {
case .value(let data):
Async.userInteractive {
let json = try? SwiftyJSON.JSON(data: data)
Async.main {
observer.onNext(json)
observer.onCompleted()
}
}
case .error( _):
observer.onNext(nil)
observer.onCompleted()
}
}
return Disposables.create()
}

关于swift - 我在调用“for cache”时收到关于 "Extra argument ' forKey' 的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55890666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com