。在Swift 4/XCode 9中加入(分隔符:)?
问题描述:
我写UITests,最近更新的Xcode 9。在Swift 4/XCode 9中加入(分隔符:)?
这行代码抛出错误:
let deleteString = stringValue.characters.map { _ in XCUIKeyboardKeyDelete }.joined(separator: "")
该行的错误是.joined(分离器:)并说:
Type of expression is ambiguous without more context
它是在UITest期间清除UITextField中的文本的函数。
此代码在我升级到Xcode 9之前工作。 任何方式来转换Swift 4/Xcode 9的语法?谢谢!
答
XCUIKeyboardKey现在是一个枚举。试试这个:
let deleteString = stringValue.characters.map { _ in XCUIKeyboardKey.delete.rawValue }.joined(separator: "")
真棒布鲁诺谢谢!奇迹般有效! –
太棒了!小贴士:每次你得到'Type is ambiguous'错误时,这意味着你有几条错误挤在一行中。它有助于将该行分成几个命令以查看正在发生的事情。在你的例子中,如果你删除了join部分并强制deleteString成为'String',你可以看到'Enum不能被铸造成String'错误:) –