问题描述
如何在Vapor 4中使用Storage?
我尝试了以下操作:
if let someValue = req.storage.get(theKey) as? String {
// do something
} else {
req.storage.set(theKey,to: "Some Value")
}
但是我遇到以下错误:
error: type of expression is ambiguous without more context
if let original: String = req.storage.get(theKey) {
~~~~~~~~~~~~^~~~~~~~~~~
error: type of expression is ambiguous without more context
req.storage.set(theKey,to: "Some Value")
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我也没有找到有关此主题的任何文档。
解决方法
输入键实际上是使用协议必须实现的。如果要查看有关如何使用Store的示例,请像@imike所说的那样,查找Storage类的用法。
,存储不是基于字符串的键对象存储。您必须声明符合struct
的{{1}},实现代表您要存储的对象类型的StorageKey
值。
如果您需要存储一个字符串,让我们来看这个例子:
typealias
,
键不可能是任意字符串。必须预先定义密钥。