tl; dr: 我们看一下Swift语言参考,可以肯定的是,这种反斜杠点表示法的用法称为key-path-
expression。
(到目前为止,该问题已得到充分回答。)
有关如何获取该部分埋藏文档的更实际的方法:
从发布的代码中可以看到,User类包含一个名为的属性
请注意,假设您使用的是Xpre,如果将其替换
return .email为
return,则会出现compile-error
"Expected expression path in Swift key path",因此这表明该反斜杠点表示法可能与称为关键路径的东西有关。
从关于key-path的文档中,我们看到我们也可以编写
User.email(并且您可以在Xpre中尝试它,而没有编译器错误)。
了解该代码中发生的事情的更多上下文:
因此,从语义上讲,要了解
usernameKey您正在查看的声明的含义,我们可能想了解a
WritableKeyPath是什么。简而言之,从文档中,我们看到a
WritableKeyPath是:“支持对结果值进行读写的键路径。”
因此,我们看到该
usernameKey声明接受一个
WritableKeyPath对象并返回一个
Stringis
User.email。
此外,很明显,User类需要此
usernameKey属性才能与
PasswordAuthenticatable协议兼容,该协议是在第一行中导入的
importAuthentication(如果您愿意在此处进行探索,请查看Dependencies> Auth 2.0.0> Authentication>
Basic> BasicAuthenticatable.swift)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)