gpt4 book ai didi

ios - 文字 : "\b" 中的转义序列无效

转载 作者:搜寻专家 更新时间:2023-10-30 22:06:04 25 4
gpt4 key购买 nike

我需要能够创建一个 "\b" 的字符串。但是当我尝试这样做时,Xcode 会抛出编译时错误:文字中的转义序列无效。我不明白为什么 "\r" 可以正常工作。如果我输入 "\\b" 那么这就是字符串中实际存储的内容,这不是我所需要的——我只需要一个反斜杠。对我来说,这似乎是 Swift 的一个怪癖,因为它在 Objective-C 中工作得很好。

let str = "\b" //Invalid escape sequence in literal
NSString *str = @"\b"; //works great

我需要生成这个字符串,因为 "\b" 是在使用 UIKeyCommand 时检测用户何时按下“删除”的唯一方法:

let command = UIKeyCommand(input: "\b", modifierFlags: nil, action: "didHitDelete:")

我该如何解决这个问题?

编辑:它真的不想生成一个只有"\b"的字符串,这是行不通的——它保持原始值:

var delKey = "\rb"
delKey = delKey.stringByReplacingOccurrencesOfString("r", withString: "", options: .LiteralSearch, range: nil)

最佳答案

\b 的 Swift 等价物是 \u{8}。它映射到 ASCII 控制代码 8,就像 Objective C 中的 \b 一样。我对此进行了测试,发现它可以与 UIKeyCommand 一起正常工作,在 this earlier answer of mine 中。 .

示例片段:

func keyCommands() -> NSArray {
return [
UIKeyCommand(input: "\u{8}", modifierFlags: .allZeros, action: "backspacePressed")
]
}

关于ios - 文字 : "\b" 中的转义序列无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27350006/

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